氣泡排序和選擇排序

2021-10-04 05:48:06 字數 566 閱讀 8810

作為乙個來自逆戰班的前端「小學生」,我今天給大家講解一下氣泡排序和選擇排序。

氣泡排序是直接將陣列當中相鄰的數兩兩依次比較,然後根據比較的結果進行位置的交換,第一次迴圈結束就可以獲取到乙個最大值或者最小值(根據你想按照從小到大還是從大到小的排列方式),並且這個值將會被換到最後乙個的位置,第二次迴圈會將剩下數的最大值或者最小值換到倒數第二個的位置,以此類推,從而達到排序的目的。所以外迴圈的次數將是陣列的長度減1(最後一次只有乙個數,不用進行迴圈);內迴圈則是對陣列的數進行兩兩比較。

程式如圖:

選擇排序和氣泡排序類似,區別是選擇排序是通過索引下標進行對陣列值的查詢,從起始位置開始,找最小的數值所在的索引下標,如果最終儲存的索引下標,不是起始位置,就與起始位置交換儲存資料,執行一次迴圈,會將最小值儲存在起始位置上,下一次迴圈,之前的起始位置,不再參與迴圈。

程式如圖:

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 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 ...