简单的“桶排序”:书中介绍的桶排序是借助一维数组解决问题。将数组下标作为已经排序的序列,将值存入数组中对应的位置,达到排序的目的。题目一:5个同学分别考了5分、3分、5分、2分、8分,满分为10分;让计算机随机读入这5个数,按照分数从大到小输出。
输出结果:8 5 5 3 2
解:
思路:1.初始化大小为11的数组a[0]-a[10];
2.分数对于数组下标,存在则+1,代表出现的次数,比如,若5分,a[5]=1;
3.顺序输出,数组中值表示输出次数。
实现(C):
#include<stdio.h>
int main()
{
int a[11],i,j,x;
for(i=0;i<=10;i++)
{
a[i]=0;
}
for(i=0;i<5;i++)
{
scanf("%d",&x);
a[x]++;
}
for(i=10;i>=0;i--)
{
for(j=1;j<=a[i];j