c語言 氣泡排序和選擇排序

2021-09-02 13:08:34 字數 807 閱讀 4828

氣泡排序將乙個列表中的兩個元素進行比較,並將最小的元素交換到頂部。兩個元素中較小的會冒到頂部,而較大的會沉到底部,該過程將被重複執行,直到所有元素都被排序。

氣泡排序示意圖

以如圖所示的氣泡排序為例,每次比較相鄰的兩個值,值小的交換到前面,每輪結束後值最大的數交換到了最後。第一輪需要比較4次;第二輪需要比較3次;第三輪需要比較2次;第四輪需要比較1次。

那麼如何用二重迴圈將5個數排序呢?5個數存放在一維陣列中,外層迴圈控制比較多少輪,迴圈變數i;內層控制每輪比較多少次,迴圈變數就,如下圖所示:

**如下:

#include #define num 5

void arrsort(int,int);

void arrout(int,int);

main();

arrout(a,num);//輸出a陣列中原始資料

arrsort(a,num);//對a陣列中的數進行排序

arrout(a,num);//輸出排序後a陣列中的資料

}void arrsort(int a,int n)

} } }

void arrout(int a,int n)

for(i=0;i<9;i++)}}

for(i=0;i<10;i++)

}

C語言氣泡排序 選擇排序

一,氣泡排序 假如給n個數從小到大排序 思想 總共跑n趟,每一趟都把無序陣列中相鄰的數 不符合順序,即前者 後者,a j a j 1 交換,兩兩交換,n個數最多交換n 1次。note 交換可以定義乙個temp來交換,也可以直接呼叫庫函式swap。include include include inc...

C 氣泡排序和選擇排序

氣泡排序 理論 從第乙個數開始,將相鄰的兩個數比較,第乙個數和第二個數比較.要是是從小到大的排序,要是後面的數比前面的大則交換兩個的位置,這樣第一輪比較基數後最大的數就到了最後面,接著進行第二趟的比較,比較到前面n 1個數,原理也是前面的那樣,大的往後面不停的排,直到比較到前面只剩下乙個數的時候,就...

C語言 冒泡,選擇排序

1.冒泡演算法 簡單定義 大數下沉,小數起泡 實現 include void funcscort int arr,int len int main int argc,const char argv 排序 funcscort a,10 列印 for int i 0 i 10 i return 0 輸出...