演算法 使用while改進實現氣泡排序

2021-10-11 11:10:27 字數 740 閱讀 6604

氣泡排序作為八大排序演算法之一,同時也是最簡單的排序演算法。

普通的排序實現可以通過雙層for迴圈來實現。

random random=

newrandom()

;int

nums=

newint[10

];for(

int i =

0; i < nums.length; i++

)for

(int i =

0; i < nums.length; i++)}

}for

(int i =

0; i < nums.length; i++

)

這樣實現的氣泡排序較為簡單,時間複雜度為o(n2),但問題也很明顯,顯然不論什麼情況,都不會減少排序所需的時間,我們可以通過while迴圈來對其進行改進。

boolean flag=

true

;int

nums=

newint[60

];random random=

newrandom()

;for

(int i =

0; i < nums.length; i++

)int j=0;

while

(flag)

}}

通過while 迴圈我們可以減少不必要的迴圈次數,使得在陣列無需進行排序後,可以直接停止迴圈。

冒泡演算法的改進

氣泡排序演算法的思想 首先將第乙個記錄的關鍵字和第二個關鍵字進行比較,若為逆序則將兩個記錄進行交換。然後比較第二個記錄和第三個記錄的關鍵字,直至第n 1個記錄和第n個記錄進行比較為止,一趟過後最大的元素會沉入最底部。然後進行第二趟排序,對前 n 1 個記錄進行同樣1 2的操作,結果就是關鍵字次大的記...

改進的氣泡排序演算法

氣泡排序演算法,是最基本的排序演算法,它屬於交換排序。設想被排序的陣列r 1.n 垂直豎立,將每個資料元素看作有重量的氣泡,根據輕氣泡不能在重氣泡之下的原則,從下往上掃瞄陣列r,凡掃瞄到違反本原則的輕氣泡,就使其向上 漂浮 交換位置 如此反覆進行,直至最後任何兩個氣泡都是輕者在上,重者在下為止。若記...

氣泡排序及其改進演算法

第乙個排序函式 sort1 為氣泡排序的典型實現,第二和第三個為改進後的排序函式 include include define len 20000 double sort1 int int double sort2 int int double sort3 int int int main int ...