氣泡排序是一種簡單的排序演算法,它也是一種穩定排序演算法。其實現原理是重複掃描待排序序列,並比較每一對相鄰的元素,當該對元素順序不正確時進行交換。一直重複這個過程,直到沒有任何兩個相鄰元素可以交換,就表明完成了排序。
一般情況下,稱某個排序演算法穩定,指的是當待排序序列中有相同的元素時,它們的相對位置在排序前後不會發生改變。
假設待排序序列為 (5,1,4,2,8),如果採用氣泡排序對其進行升序(由小到大)排序,則整個排序過程如下所示:
1) 第一輪排序,此時整個序列中的元素都位於待排序序列,依次掃描每對相鄰的元素,並對順序不正確的元素對交換位置,整個過程如圖 1 所示。
圖 1 第一輪排序(白色字型表示參與比較的一對相鄰元素)