簡單地說,氣泡排序是一個過程,在這個過程中,我們將反復迭代一個數組,并將當前值與下一個值進行比較,如果它更大,我們將交換它。
因此,這是該過程的分步說明:
我將從此數組開始并按升序排序:
讓我們比較前兩個索引:
沒什么可改變的。繼續...
我們現在可以將7與1交換,并將我們的比較滑動窗口向下移動...
再一次,7可以向下移動:
現在讓我們從頂部重新開始該過程...
大功告成!
編碼
您會注意到,我的外循環正在遞減,其原因是我可以基于完整數組的不斷縮小的范圍來進行內循環迭代。
換句話說,每次運行外部循環時,我知道數組末尾的一個值不需要排序。
另外,如果我想檢查排序數組并提前中斷迭代,我可以實現類似這樣的東西...