Eric 手中有六張樸克牌,點數分別為「3, 8, 4, 2, 5, 7」,如果用氣泡排序法「遞減」排序, 每完成一回合後,其點數排列由左而右分別是多少呢?
以陣列存放3, 8, 4, 2, 5, 7
輸出每一回合的排序結果
8 4 3 5 7 2 8 4 5 7 3 2 8 5 7 4 3 2 8 7 5 4 3 2 8 7 5 4 3 2
#include <iostream>
using namespace std;
int main(){
 int a[6] = {3, 8, 4, 2, 5, 7};
 int i, j, tmp, k;
for(i=1; i<6; i++){
 for(j=0; j<6-i; j++){
 if(a[j] < a[j+1]){
 tmp = a[j];
 a[j] = a[j+1];
 a[j+1] = tmp;
 }
 }
 
 for (k=0;k<6;k++)
 cout << a[k] <<" ";
 cout <<endl;
 }
return 0; 
}
a = [3, 8, 4, 2, 5, 7]
for i in range(1, 6):
 for j in range(6-i):
 if a[j] < a[j+1]:
 tmp = a[j]
 a[j] = a[j+1]
 a[j+1] = tmp
for k in range(6):
 print(a[k], end=' ')
 print()
| 編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 | 
| 沒有發現任何「解題報告」 | |||||