排序,说起来每个人都不陌生。在我们生活中也可以看到很多排序的例子,比如你去超市要按到来的时间早晚排队啦,又比如你去买彩票要选号码啦……总之,这个社会的所有事情都有法则,而排序正是我们去实现这些法则的有效途径。
对我们来说,排序,是一堆数据的有序排列,看似十分简单的事,我们如果能够把它做到高效,才算完美。
桶排序
因为是初学,现在我们来简单说一说什么叫做桶排序。
先举个栗子。。。
比如说我们班有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; }
原文地址:http://zimomo.blog.51cto.com/10799874/1708564