排序演算法(一)氣泡排序

2021-09-24 15:52:15 字數 669 閱讀 5833

氣泡排序(bubble sort,台灣譯為:泡沫排序或氣泡排序)是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

以將陣列 number[n] 中的n個數從小到大排序為例:

第一趟,比較number[0] 和 number[1] 的大小,如果 number[0] > number[1] , 則利用乙個中間變數,將兩者位置互換;再比較number[1] 和 number[2] ; 再比較number[2] 和number[3]…共比較 n-1 次,結果是將整個陣列中最大的數放在了number[n-1]的位置。

第二趟,重複第一趟中的動作,共比較 n-2 次。

第三趟,…

…共迴圈n-1趟

**:

int

num =

;for

(int i =

0; i < num.length-

1; i ++)}

}for

(int i =

0; i < num.length ; i ++

)

執行結果為

112

3344

5556

789

排序演算法 一 氣泡排序

排序的演算法有很多,例如直接插入排序,希爾排序,氣泡排序,選擇排序,快速排序,堆排序等等。最簡單基礎就是氣泡排序了,關於排序hi有乙個系列。今天是第一篇,主要講氣泡排序演算法思想以及從各個方面對它進行優化。氣泡排序 原理舉例 設陣列長度為n。1 比較相鄰的前後二個資料,如果前面資料大於後面的資料,就...

排序演算法(一) 氣泡排序

排序思路 樣例 1.從首位元素開始,前後元素相比較,保證 小在前 大在後 逐個元素向後遞推。一遍結束後,最大元素將位於排序末位。16 35 9 35 5 35 20 35 結果 2.因為最大元素已經排位完畢,所以不考慮末位最大元素,從頭開始,再做一輪排序。排序範圍 結果 可以看出,第二大元素已經排至...

排序演算法一(氣泡排序)

氣泡排序。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有 再需要交換,也就是說該數列已經排序完成。假設有乙個無序序列 第一趟排序 通過兩兩比較,找到第一小的數值 1 將其放在序列的第一位。第二趟排序 通過兩兩比較,找到第二小的數值...