簡單快速的“桶排序”--極簡版
阿新 • • 發佈:2018-12-11
題目:給學生成績排序
輸入:10,3,4,7,5,5等分數
輸出:由大到小的順序排序
#include<iostream> using namespace std; int main() { //這裡假設有十個學生成績 int a[11],i,j,t; //分數總分為10分,所以陣列a大小要比10大; for(i=0;i<=10;i++) { a[i]=0; //全部初始為零,表示還沒有還分數記錄; } for(i=1;i<=5;i++) { //輸入5個成績 cin>>j; a[j]++;//表示該分數的人數加一; } for(i=0;i<=10;i++) { //分數從零開始 //i表示為分數,a[i]的值表示為該分數的人數; //有多少個就輸出多少個。 for(t=1;t<=a[i];t++) { cout<<i<<" "; } } return 0; }
缺點:陣列長度不確定,時時要變,無法輸出輸出其他資訊,如學生名字,張三6分,李四4分。