氣泡排序法的基礎概念是「比較」、「交換」。假設我們想要由左而右是數字由小到大,那麼當我們發現兩個鄰近的相比左邊卻大於右邊時,就執行「交換」,讓他變成我們要的順序。詳細步驟如下:
從第一個數字開始,跟後面的數字相比,
若左邊的數字大於右邊的數字,則兩數交換。
此步驟重複執行,直到我們將倒數第二個數與倒數第一個數比較完畢。
若數字共有 n 個,則以上的步驟重複最多 n-1 次可將所有數字排列完畢。
現在,請你寫一個程式把這個過程顯示出來!
註:此處是效率較低的方式,效率較高的方式放在進階題!
輸入有若干個整數,數量不超過 10 個。
將 10 個數字按照「題目提及」的方式進行排序,並且將過程顯示出來,參考範例輸出。
9 8 7 6
Original: 9 8 7 6 Stage 1: 8 9 7 6 8 7 9 6 8 7 6 9 Stage 2: 7 8 6 9 7 6 8 9 7 6 8 9 Stage 3: 6 7 8 9 6 7 8 9 6 7 8 9 Sorted: 6 7 8 9
9 5 3
Original: 9 5 3 Stage 1: 5 9 3 5 3 9 Stage 2: 3 5 9 3 5 9 Sorted: 3 5 9
首先輸出原始數列,
接著,在第一階段中:
第一階段結束。在第二階段中:
第二階段結束。在第三階段中:
第三階段結束。
輸出排序後數列:6 7 8 9
| 編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |
|||||