您的位置:首页 > 其它

浅识排序----桶排序

2015-11-01 19:15 267 查看
排序,说起来每个人都不陌生。在我们生活中也可以看到很多排序的例子,比如你去超市要按到来的时间早晚排队啦,又比如你去买彩票要选号码啦……总之,这个社会的所有事情都有法则,而排序正是我们去实现这些法则的有效途径。
对我们来说,排序,是一堆数据的有序排列,看似十分简单的事,我们如果能够把它做到高效,才算完美。

桶排序

因为是初学,现在我们来简单说一说什么叫做桶排序。
先举个栗子。。。
比如说我们班有10个同学参加考试,考试的满分是10分,现在全班同学的分数是乱的,老师要求你将成绩从小大到大排列起来,应该怎么排列呢?

很简单,我们可以建立一个一维数组来解决这个问题,现在满分是10分,所以从1分到10分都有可能会存在,我们要建立一个下标从0~10(11个元素)的数组来存储我们的成绩出现的次数。最后我们只要按照顺序打印出来就可以了!
#include<stdio.h>
int main()
{
int a[11],i,j,k;
for(i=0;i<=10;i++)
{
a[i]=0;
}

for(i=1;i<=10;i++)
{
scanf("%d",&k);
a[k]++;
}
for(i=0;i<=10;i++)
{
for(j=1;j<=a[i];j++)
{
printf("%d",i);
}
}
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: