排序演算法之氣泡排序

2021-06-26 18:15:57 字數 883 閱讀 6400

對於大多數學計算機的人來說,氣泡排序應該都是接觸的第一種排序方式,氣泡排序的排序思想是比較簡單的,

它的演算法的是:

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

氣泡排序的實現如下:

1 #include2

intmain()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 #include2

intmain()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 時間複雜度 若檔案的初始狀態是正序的,一趟掃瞄即可完成排序。所需的關鍵字比較次數 和記錄移動次數均達到最小值,所以,氣...