氣泡排序作為八大排序演算法之一,同時也是最簡單的排序演算法。
普通的排序實現可以通過雙層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 ...