氣泡排序和選擇排序的區別?

2021-08-29 20:26:34 字數 510 閱讀 4165

在一次寫選擇排序演算法的時候,發現和冒泡沒啥區別,後來發現寫錯了,寫的就是冒泡而非選擇。先看一下期初的**:

templatevectorselectionsort(vector&arr)

} }return arr;

}

再看一下冒泡:

/2.氣泡排序

templatevectorbubblesort(vector&arr)

return arr;

}

發現二者沒有本質差別,都是找到最小值(預設公升序排列)和預設值交換。再看一下真正的選擇排序:

templatevectorselectionsort(vector&arr) 

return arr;

}

選擇排序只是找索引,找到目標的索引再進行交換。因此可以說選擇排序是氣泡排序的一種優化,因為冒泡只要條件成立就得交換,swap執行的次數多於選擇排序。

參考:

氣泡排序和選擇排序區別

氣泡排序法 相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處 分析 第一次比較排序的結果 會把其中最大的資料排到最大的索引處 第二次比較排序後的結果 因為第一次已經把最大的乙個資料放到了最大的索引的地方,所以這次要進行比較的資料比陣列裡面的元素的資料個數 1個,而第二大的資料也會排...

氣泡排序和選擇排序區別

原理上 冒泡是兩兩相鄰的比較,遇到最大的就交換,把最大的沉到後面。選擇排序是假設第乙個為最小,然後不斷和後面的進行比較,遇到更小的就交換位置,把最小的換到前面。author zzk coding utf 8 氣泡排序 data set 9,1,22,31,45,3,6,2,11 for i in r...

氣泡排序和選擇排序的區別

一 區別 二 氣泡排序優缺點 三 選擇排序優缺點 1.氣泡排序是比較相鄰位置的兩個數,而選擇排序是按順序比較,找最大值或者最小值 2.氣泡排序每一輪比較後,位置不對都需要換位置,選擇排序每一輪比較都只需要換一次位置 3.氣泡排序是通過數去找位置,選擇排序是給定位置去找數 1.優點 比較簡單,空間複雜...