對於大多數學計算機的人來說,氣泡排序應該都是接觸的第一種排序方式,氣泡排序的排序思想是比較簡單的,
它的演算法的是:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
氣泡排序的實現如下:
1 #include2intmain()3;
5int count = sizeof(array) / sizeof(array[0
]);6
inti, j;
7for(i = 0; i < count - 1; i++) 15}
16}17for(i = 0; i < count; i++)
2021
2223
2425
return0;
26 }
其實氣泡排序還可以優化,就是當比較和交換過程中陣列已經有序的情況,這樣的話就不用再進行冒泡了,所以氣泡排序可以這樣優化:
1 #include2intmain()3;
5int count = sizeof(array) / sizeof(array[0
]);6
inti, j;
7int flag = 1;8
for(i = 0; i < count - 1 && 1 == flag; i++) 18}
19}20for(i = 0; i < count; i++)
2324
return0;
25 }
排序演算法之氣泡排序
參考 氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。若...
排序演算法之氣泡排序
氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,...
排序演算法之氣泡排序
原理 臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,一趟過去後,最大或最小的數字被交換到了最後一位,然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束。分析 1 時間複雜度 若檔案的初始狀態是正序的,一趟掃瞄即可完成排序。所需的關鍵字比較次數 和記錄移動次數均達到最小值,所以,氣...