氣泡排序(bubble sort)重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從z到a)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(公升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「氣泡排序」。
氣泡排序演算法的原理如下:
1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後乙個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
例:
//從小到大排列以下數字
// 9 8 5 4 7 6 2 3 1 0
#include
main()
;//初始化陣列
for(y=
0;y<10-
1;y++
)//將下乙個比較執行10-1次
else
}for
(n=0
;n<
10;n++
)//設定輸出陣列元素的迴圈
return0;
//無返回值
}
氣泡排序 c語言實現
氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...
C語言實現氣泡排序
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從...
氣泡排序(C語言實現)
直接上 注意理解注釋 define crt secure no warnings 1 include include void my swap int a,int b 交換的時候傳位址 通過這兩個位址去尋找對應變數 void bubblesort int arr,int size 傳陣列名及其大小 ...