c語言實現陣列的排序

2022-05-21 09:42:13 字數 1387 閱讀 1029

本文章只對選擇排序和氣泡排序進行介紹

選擇排序實際上是從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 迴圈...