冒泡排序算法策略:
重複的交換相鄰的兩個反序元素。
冒泡排序算法步驟:
取值:去數組沒有進行排序的最後一個數;
對比:將選取從最近往前對比;
交換:當對比的數比自己大時(從小到大排序),進行交換值。
僞代碼如下:
BUBBLESORT(A)
1 for i ← 1 to length[A]
2 do for j ← length[A] downto i + 1
3 do if A[j] < A[j - 1]
4 then exchange A[j] ↔ A[j - 1]
算法分析:
最差的情況是每次都進行交換,交換次數爲:n + (n-1) + (n-2) + ...+1 = n(n+1)/2
忽略低階項和常量c,即得到結果 Θ(n2).