氣泡排序:遍歷陣列,兩兩比較交換,每一次小迴圈j將最大的元素放在陣列尾部。大迴圈i是迴圈陣列的長度次數,小迴圈則不用排最後乙個元素,每次迴圈長度減去i,最後完成排序:
public
static
void
bubblesort
(int
values)
system.out.
println
(arrays.
tostring
(values));
//每交換一次輸出一遍陣列}if
(flag==
true
) system.out.
println
("第"
+(i+1)
+"次小迴圈結束,排好了第"
+(values.length-i)
+"個元素");
}}}
優化則是加上判斷標誌flag,如何發現內迴圈一次沒有進行元素交換,則跳出外迴圈。
最差時間複雜度:o( n^2 )
最好時間複雜度:o( n )陣列本身有序的情況
氣泡排序 氣泡排序演算法優化
常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...
排序演算法 氣泡排序 優化
排序演算法在程式設計中起到非常大的作用,氣泡排序是其中比較經典的演算法。雖然效率不高,但是每個演算法都有適合的場景。氣泡排序就是在排序過程中相鄰元素不斷交換,看起來向元素冒泡一樣。那我們就可以通過新增乙個標誌位來對氣泡排序進行優化處理。因為,在某一次排序的過程中可能需要排序的陣列已經是有序的了,在這...
排序演算法 氣泡排序及優化 Java實現
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。1.1 演算法描述 1.2 演示 基本的氣...