實現乙個對整形無序陣列的氣泡排序
(以公升序為例)
氣泡排序就是將一組無序陣列通過前後兩兩相比, 將較大者放到後面, 較小者放在前面的思想, 來達到排序的目的。
例如 5 8 2 9
我們先取前兩個數字5和8進行比較, 發現符合公升序, 則不做改變。(此時陣列是 5 8 2 9)
再取8和2進行比較, 發現8大於2 需要調換兩者位置, 則定義乙個臨時變數,交換兩者位置。(此時陣列是5 2 8 9)
再下來 取8和9進行比較,還是符合規則。則第一輪排序完畢。(此時陣列是5 2 8 9)
第二輪取5和2進行比較,發現5大於2, 再次互換兩數字置。(此時陣列是2 5 8 9)
下來取5和8進行比較, 發現不用掉換位置。(此時陣列是2 5 8 9)
再取8和9進行比較,發現依舊不用調換,則第二輪排序完畢。(此時陣列是2 5 8 9)
每一輪的排序就讓較小的數往前更靠近了一點。多輪迴圈下來,氣泡排序就完成了。
#include
#include
void
bubblesort
(int arr,
int size)}}
}int
main()
;bubblesort
(arry,
sizeof
(arry)
/sizeof
(arry[0]
));for
(int i =
0; i <
4; i++
)system
("pause");
return0;
}
氣泡排序實現
演算法原理 氣泡排序是經過n 1趟子排序完成的,第 i 趟子排序從第1個數至第 n i 1 個數,若第 i 個數比第 i 1 個數大,則交換這兩個數,實際上這樣經過 i 次子排序就使得 第1個數至第 n i 1個數之間最大的數交換到了n i 1 的位置上了。實際上氣泡排序時可以優化的,那就是當第 i...
遞迴函式,氣泡排序
def func print 我是誰 func func 在python中,遞迴的深度最大到998 def foo n print n n 1foo n foo 1 遞迴的應用 我們可以使用遞迴來遍歷各種樹形結構,比如我們的資料夾系統.可以使用遞迴來遍歷該資料夾中的所有檔案 遍歷 d 作業 資料夾,...
氣泡排序java實現
基本思想 將待排序的n個元素垂直排成一列,依次比較上下相鄰的兩個元素,如果上面的數大於下面的,則兩者交換,第一趟氣泡排序的結果使得關鍵字最大的記錄被放在最後乙個位置上,然後第二趟起泡排序對前n 1個記錄進行同樣操作,結果是關鍵字次大的記錄被安放在第n 1個位置上,以此類推共進行n 1趟排序。特點 穩...