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