冒泡排序算法策略:
重复的交换相邻的两个反序元素。
冒泡排序算法步骤:
取值:去数组没有进行排序的最后一个数;
对比:将选取从最近往前对比;
交换:当对比的数比自己大时(从小到大排序),进行交换值。
伪代码如下:
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).