氣泡排序將乙個列表中的兩個元素進行比較,並將最小的元素交換到頂部。兩個元素中較小的會冒到頂部,而較大的會沉到底部,該過程將被重複執行,直到所有元素都被排序。
氣泡排序示意圖
以如圖所示的氣泡排序為例,每次比較相鄰的兩個值,值小的交換到前面,每輪結束後值最大的數交換到了最後。第一輪需要比較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 輸出...