氣泡排序和插入排序對比

2021-10-21 18:13:53 字數 527 閱讀 4994

氣泡排序和插入排序都是兩層for迴圈,時間複雜度o(n)

區別在於

氣泡排序是拿乙個元素和無序序列去遍歷比較,比較得到整個無序序列中最值,然後放入有序序列,而一旦放入有序序列,就不再碰了

氣泡排序的當前元素是無論如何不會觸控有序序列的

非常生動的體現了冒泡的情形,泡泡是亂的,最大的泡泡在大大小小雜亂無章的泡泡群中漂浮到最上面

而插入排序呢恰恰相反

插入排序是拿乙個元素和有序的數列去比,從單一元素的假有序乙個乙個加,拿乙個元素進入有序序列,碰到比自己大或小的就即刻坐下,不再繼續比較

插入排序的當前元素是無論如何不會觸控無序序列的

氣泡排序因為是無序,所以你即使遇到下乙個比自己大,你不知道後面有沒有更大的,你只能換一下,把手中的換成剛剛比較出更大的,去比接下來的

冒泡的每一次冒,都要把無序序列輪一遍

插入排序恰恰相反,一旦你遇到比自己大或小的了,你就知道,後面都是比自己大或小的,就沒必要再繼續往前走了,現在坐下,當前元素就進入了有序序列

插入的每一次插,都不一定要輪一遍有序序列

氣泡排序,插入排序

前提 void x sort elementtype a,int n 大多數情況下,為簡單起見,討論從小大的整數排序 n是正整數 只討論基於比較的排序 有定義 只討論內部排序 穩定性 任意兩個相等的資料,排序前後的相對位置不發生改變 沒有一種排序是任何情況下 都表現最好的 氣泡排序 void bub...

氣泡排序 插入排序

學習思路 思路講解 實現 1 通過雙重迴圈,相鄰兩個資料做對比,通過位置交換使其變得有序 2 時間複雜度 分析 解釋 外部迴圈從0開始i 內部迴圈從0開始j,完整迴圈後會將本次最大值放入陣列最後,下次迴圈可忽略相應的尾部資料 length i 1 重複1 2步即可完成排序 實現 public cla...

氣泡排序 選擇排序和插入排序

氣泡排序 思路 將相鄰的兩個數比較,將較小的數調到前頭 有n個數就要進行n 1趟比較,第一次比較中要進行n 1次兩兩比較,在第j趟比較中,要進行n j次兩兩比較。依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放...