黑馬程式設計師 氣泡排序

2022-10-11 00:21:17 字數 1094 閱讀 7162

氣泡排序

氣泡排序(bubble sort),是一種電腦科學領域的較簡單的排序演算法。

它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

一、演算法原理

氣泡排序演算法的運作如下:

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

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

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

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

例如要對乙個陣列進行排序

int numbers=;   

氣泡排序:將乙個陣列從大到小或者從小到大進行排序   

陣列 從大到小:降序排列

從小到大:公升序排列

對陣列中的資料進行比較。

第一趟:8 7 6 5 4 3 2 1 0 9   第一趟比較  比較了9次    i=0   j=9    

第二趟:7 6 5 4 3 2 1 0 8 9   第二趟比較  比較了8次    i=1   j=8      

第三趟:6 5 4 3 2 1 0 7 8 9   第三趟比較  比較了7次    i=2  j=7    

第四趟:5 4 3 2 1 0 6 7 8 9   第四趟比較  比較了6次    i=3   j=6      

第五趟:4 3 2 1 0 5 6 7 8 9   第五趟比較  比較了5次    i=4   j=5

第六趟:3 2 1 0 4 5 6 7 8 9   第六趟比較  比較了4次    i=5   j=4

第七趟:2 1 0 3 4 5 6 7 8 9   第七趟比較  比較了3次    i=6   j=3

第八趟:1 0 2 3 4 5 6 7 8 9   第八趟比較  比較了2次    i=7   j=2

第九趟:0 1 2 3 4 5 6 7 8 9   第九趟比較  比較了1次    i=8   j=1

綜上分析

//外層迴圈控制比較的趟數

for(int i=0;i}}

黑馬程式設計師 陣列 氣泡排序

asp.net unity開發 net培訓 期待與您交流!陣列特點 1 可以幫我們一次宣告多個同型別的變數 2 這些變數在記憶體中是連續儲存的 語法 資料型別 陣列名稱 new 資料型別 陣列長度 舉例 int age new int 5 宣告了乙個長度為5的陣列,陣列叫age 通俗點說 就是宣告了...

黑馬程式設計師 C 氣泡排序 學習筆記

windows phone 7手機開發 net培訓 期待與您交流!氣泡排序 讓陣列中的元素兩個比較,第i個與第i 1個比較,經過n i 1 遍兩兩比較,陣列中的元素能按照我們預期的規律排序。要從大到小排序,我們進行兩兩比較的時候用 又大到小排序 10.20.30.40.50.60.70.80 原始元...

黑馬程式設計師 氣泡排序和選擇排序的區別

asp.net unity開發 net培訓 期待與您交流!它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。如下 public class nums for int i 0 i nums.len...