a087. 氣泡排序過程-基礎版
標籤 : sort 交換 排序 氣泡排序
通過比率 : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2025-03-26 23:46

內容

氣泡排序法的基礎概念是「比較」、「交換」。假設我們想要由左而右是數字由小到大,那麼當我們發現兩個鄰近的相比左邊卻大於右邊時,就執行「交換」,讓他變成我們要的順序。詳細步驟如下:

從第一個數字開始,跟後面的數字相比,
若左邊的數字大於右邊的數字,則兩數交換。
此步驟重複執行,直到我們將倒數第二個數與倒數第一個數比較完畢。

若數字共有 n 個,則以上的步驟重複最多 n-1 次可將所有數字排列完畢。

現在,請你寫一個程式把這個過程顯示出來!

註:此處是效率較低的方式,效率較高的方式放在進階題!

輸入說明

輸入有若干個整數,數量不超過 10 個。

輸出說明

將 10 個數字按照「題目提及」的方式進行排序,並且將過程顯示出來,參考範例輸出。

範例輸入 #1
9 8 7 6
範例輸出 #1
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 
範例輸入 #2
9 5 3
範例輸出 #2
Original:
9 5 3 
Stage 1:
5 9 3 
5 3 9 
Stage 2:
3 5 9 
3 5 9 
Sorted:
3 5 9 
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (25%): 1.0s , <1K
公開 測資點#1 (25%): 1.0s , <1K
公開 測資點#2 (25%): 1.0s , <1K
公開 測資點#3 (25%): 1.0s , <1K
提示 :

首先輸出原始數列,

接著,在第一階段中:

  1. 比較第1, 2 位置: 9, 8 ,因為 9 > 8 故交換。輸出 8 9 7 6
  2. 比較第2, 3 位置: 9, 7 ,因為 9 > 7 故交換。輸出 8 7 9 6 
  3. 比較第3, 4 位置: 9, 6 ,因為 9 > 6 故交換。輸出 8 7 6 9

第一階段結束。在第二階段中:

  1. 比較第1, 2 位置: 8, 7 ,因為 8 > 7 故交換。輸出 7 8 6 9 
  2. 比較第2, 3 位置: 8, 6 ,因為 8 > 6 故交換。輸出 7 6 8 9
  3. 比較第3, 4 位置: 8, 9 ,因為 8 < 9 故不交換。輸出 7 6 8 9 

第二階段結束。在第三階段中:

  1. 比較第1, 2 位置: 7, 6 ,因為 7 > 6 故交換。輸出 6 7 8 9 
  2. 比較第2, 3 位置: 7, 8 ,因為 7 < 8 故不交換。輸出 6 7 8 9 
  3. 比較第3, 4 位置: 8, 9 ,因為 8 < 9 故不交換。輸出 6 7 8 9 

第三階段結束。

輸出排序後數列:6 7 8 9

標籤:
sort 交換 排序 氣泡排序
出處:
冠曄 [管理者: kyle1228@fhs...(林冠曄) ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」