z009: A-ch3-4-電商訂單排序
標籤 : bubble sort 實作本 排序 氣泡 電商訂單排序
通過比率 : 17人/17人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-07-15 16:07

內容

Eric 在電商平台賣水果,這天他收到了 9 筆訂單,訂購的數量為「17, 5, 3, 11, 16, 10, 23, 6, 8」,他想利用氣泡排序來將訂單由小排到大,請撰寫遞增氣泡排序法程式,最後輸出
(a) 排序結果,
(b) 共需進行幾次資料的比對?
(c) 共需進行幾次的數字交換? 

 

輸入說明

以陣列存放數列17, 5, 3, 11, 16, 10, 23, 6, 8

輸出說明

輸出 (a) 排序結果,(b) 共需進行幾次資料的比對? (c) 共需進行幾次的數字交換? 

範例輸入 #1


											
										
範例輸出 #1
23 17 16 11 10 8 6 5 3 
36
18
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :

#include <iostream>
using namespace std;

int main(){
int a[9] = {17,5,3,11,16,10,23,6,8};
int i, j, tmp, k;
int swap=0, comp=0;
for(i=1; i<9; i++){
for(j=0; j<9-i; j++){
comp = comp + 1;
if(a[j] < a[j+1]){
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
swap = swap + 1;
}
}
}

for (k=0;k<9;k++)
cout << a[k] <<" ";
cout << endl;
cout << comp << endl;
cout << swap << endl;
return 0;
}

 

a = [17, 5, 3, 11, 16, 10, 23, 6, 8]
swap = 0
comp = 0

for i in range(1, 9):
for j in range(9-i):
comp = comp + 1
if a[j] < a[j+1]:
tmp = a[j]
a[j] = a[j+1]
a[j+1] = tmp
swap = swap + 1

for i in range(0,9):
print(a[i], end=" ")
print()
print(comp)
print(swap)

標籤:
bubble sort 實作本 排序 氣泡 電商訂單排序
出處:
全華資訊科技第三章 [管理者:
alice2100che... (alice2100chen)
]


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