選擇排序和氣泡排序總結

2021-09-03 08:22:06 字數 461 閱讀 2262

遞增排序乙個序列,從待排序元素中選出最小的元素,和起始位置的元素交換,然後從剩餘元素中繼續選最小元素,這是一種不穩定的方法,時間複雜度n^2。比較簡單的演算法

比選擇排序效能更加優一點的排序方法。

第一輪迴圈(1:n):開始先比較第一第二個元素的大小,如果第二個小於第乙個,則交換,反之則保持不變。然後繼續比較第二個和第三個,這樣一直比較到第n-1個和第n個。結束第一輪迴圈

第二輪迴圈(1:n-1):繼續比較第乙個和第二個的大小關係,一直比較到n-2和n-1個元素。結束第二輪迴圈

一直持續到第n-1輪迴圈

時間複雜度n^2

選擇排序為不穩定的排序,氣泡排序為穩定排序。

1.選擇排序需要交換元素的次數明顯少於氣泡排序。且氣泡排序的交換次數和待排序序列的順序程度相關性大

2.兩者的空間複雜度一致,只需要乙個額外空間o(1)

3.兩者每一**迴圈都能選出乙個最優數(最大或最小的數)

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 demo 執行 選擇排序 氣泡排序原理圖 demo 執行 說明 include include using namespace std name 氣泡排序法 number 傳入陣列 length 陣列長度 setw 需要匯入 include ps 這是乙個lib.h的...

選擇排序和氣泡排序

選擇排序和氣泡排序 演算法 蠻力法選擇排序,第一次掃瞄整個陣列,找到最小元素,然後和第乙個元素交換。第二次從第二個元素開始掃瞄陣列,找到剩下的元素中最小的與第二個元素交換位置,直到最後。89 45 68 90 29 3417 17 45 68 902934 89 17 29 68 90 453489...

選擇排序和氣泡排序

選擇 從小到大排序 int a 5 a 0 a 1 a 2 a 3 a 4 5 4 3 2 1 1 5 4 3 2 第一輪比較 拿a 0 和後面的元素依次比較 如果a 0 a i 那麼兩個數交換 1 2 5 4 3 第二輪比較,拿a 1 和後面的元素依次比較,如果a 1 a i 那麼兩個數交換 1 ...