它反復訪問要排序的元素列,依次比較兩個相鄰的元素,如果順序(例如,從最大到最小,從Z到A)不對,就交換它們。重復訪問元素的工作,直到沒有相鄰的元素要交換,也就是說,該列元素已經被排序。
這種算法的名字來源於較小的元素會通過交換(升序或降序)慢慢“浮”到序列的頂端,就像碳酸飲料中二氧化碳的氣泡最終會浮到頂端壹樣,因此被命名為“氣泡排序”。
中文名
冒泡排序
外國名字
冒泡排序
科目
計算機科學
時間復雜度
氧氣(氮氣)
算法穩定性
穩定排序算法
快的
航行
算法分析算法描述優化算法比較
算法原理
冒泡排序算法原理如下:[1]
比較相鄰的元素。如果第壹個比第二個大,就把它們換了。[1]
對每對相鄰的元素做同樣的工作,從第壹對到最後壹對。此時,最後壹個元素應該是最大的數字。[1]
對除最後壹個元素之外的所有元素重復上述步驟。[1]
每次對越來越少的元素繼續重復上述步驟,直到沒有要比較的數字對。