バケツソートアルゴリズム簡略化版

978 ワード

ソートアルゴリズムは、一般的な成績ランキングなど、最も一般的なアルゴリズムを適用します.
クラスに入って10人の学生がいて、数学のこの科目は100点満点です.試験が終わったら、先生は数学の成績をランキングします.では、人はどのようにランキングを実現しましたか?
人の脳:1:まず点数が一番高いのを見つけて、1位に置きます2:それから残りの学生の中で、一番高いのを見つけて2位に置きます.....60:最後の学生は、最後の一人になります.
では、今日お話しするバケツソートアルゴリズムは、人間の脳の思考と少し違います.でも、分かりやすいです.1:60各学生の成績を含む配列arr 1が整数であると仮定する.2:101個の対象(100+1)3:10人の学生の成績を遍歴し、成績=arr 2のindexの場合arr 2[index]++4:最終的なarr 2の対象から、逆の順序で対応する成績を印刷する配列arr 2があるとする
include
int main(){int book[101],i,j,t,n;for(i=0;i<=100;i+)/101個の値が0のバケツオブジェクト{book[i]=0;
 scanf("%d",&n);//         
 for(i=1;i<=n;i++)//        
 {
      scanf("%d",&t); //         
      book[t]++; //          ,   1,           
 }

 for(i=100;i>=0;i--) //      101~0  
      for(j=1;j<=book[i];j++) //               
         printf("%d ",i);

 getchar();
 getchar();

 return 0;

}
1:総学生数入力:10 2:再入力学生成績数:88,59,100,28,99,73,89,72,74 3:戻り:100,99,89,88,88,74,72,28