本文章只對選擇排序和氣泡排序進行介紹
選擇排序實際上是從0到length-1,選擇某個元素與其他的元素進行大小比較,如果大於就交換,其他情況不做操作,如圖:
氣泡排序實際上是先選擇某個元素,然後從最後乙個元素依次往前比較(不超過選擇的元素),如果大於就交換,否則不變,如圖
`從圖可以看出排序出的數彷彿是從地下往上冒出一樣,因此稱之為氣泡排序法。選擇排序和氣泡排序算數複雜度都是n*n/2,效率不是太高
標頭檔案:
#include#include函式原型:#include
void sorta1(int a, int length); //實現函式:選擇排序
void sorta2(int a, int length); //
氣泡排序
void printa1(int a, int length); //
遍歷陣列
void sorta1(int a, int測試:length)}}
}void printa1(int a, int
length)
printf("\n
");}void sorta2(int a, int
length)}}
}
1執行結果:void
main();
67 length = sizeof(a) / sizeof(a[0
]);8
9 printf("
排序前\n");
1011
printa1(a, length);
1213
sorta1(a, length);
1415 printf("
選擇排序後\n");
1617
printa1(a, length);
1819
sorta2(a, length);
2021 printf("
氣泡排序後\n");
2223
printa1(a, length);
2425 system("
pause");
26 }
C語言實現陣列的奇偶排序
今天遇到了個實現陣列的奇偶排序的問題,與大家分享下解決思路。思路1 建立新的陣列對所求陣列進行遍歷,技術放在一起偶數放在一起,再用穿件陣列中的內容替換到所求陣列中,如下 define len 10 include includeint main 陣列的初始化 int odd len 用來儲存奇數 i...
C語言實現陣列快速排序演算法
c語言實現陣列快速排序演算法 快速排序演算法,顧名思義,是迄今為止發現的速度最快的排序演算法。快速排序演算法採用分治的思想,首先在要排序的序列中選取乙個基準數 一般選取序列的第乙個,其實選取哪個是無關緊要的 將序列分成兩部分,其中基準數的左邊全是小於基準數的數,基準數右邊是大於或者等於基準數的數。這...
排序(C語言實現)
1.基本原則 比較兩兩相鄰記錄的關鍵字,使不滿足排序要求的記錄交換位置,直到n 1輪迴圈結束 2.操作順序 從小到大為例 1 從頭開始,比較 arr i 和 arr i 1 如果第二個比第乙個小,交換 2 指標向後移動,i i 1,再次比較 arr i 和 arr i 1 判斷是否需要交換 3 迴圈...