浅识排序----桶排序
2015-11-01 19:15
267 查看
排序,说起来每个人都不陌生。在我们生活中也可以看到很多排序的例子,比如你去超市要按到来的时间早晚排队啦,又比如你去买彩票要选号码啦……总之,这个社会的所有事情都有法则,而排序正是我们去实现这些法则的有效途径。
对我们来说,排序,是一堆数据的有序排列,看似十分简单的事,我们如果能够把它做到高效,才算完美。
桶排序
因为是初学,现在我们来简单说一说什么叫做桶排序。
先举个栗子。。。
比如说我们班有10个同学参加考试,考试的满分是10分,现在全班同学的分数是乱的,老师要求你将成绩从小大到大排列起来,应该怎么排列呢?
很简单,我们可以建立一个一维数组来解决这个问题,现在满分是10分,所以从1分到10分都有可能会存在,我们要建立一个下标从0~10(11个元素)的数组来存储我们的成绩出现的次数。最后我们只要按照顺序打印出来就可以了!
对我们来说,排序,是一堆数据的有序排列,看似十分简单的事,我们如果能够把它做到高效,才算完美。
桶排序
因为是初学,现在我们来简单说一说什么叫做桶排序。
先举个栗子。。。
比如说我们班有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; }
相关文章推荐
- Java四种读取和创建XML文档的例子教程
- hdu3646 Fate Stay Night(dp,读题障碍)
- centos安装时各个版本的含义
- 大数相加
- C++primer 17.4 随机数
- 第九周--项目三--稀疏矩阵的三元组表示的实现及应用(1)
- Java os.name
- 在Ubuntu下手动安装配置Mongodb
- UINavigationController
- Python yield 使用浅析
- UDP穿越NAT原理(p2p)
- Hadoop之HDFS架构(NameNode和DataNode)
- ios学习之苹果官方文档的学习(EKCalendarChooser)
- ubuntu下neural-style-master的demo
- jfinal spring 整合 集成 事物 spring-jfinal
- fl2440开发板上用其他文件系统格式化除根分区以外的分区————例ubifs文件系统格式化apps分区2、
- java中的垃圾收集算法
- dll的创建和使用的整理【部分转载】
- 数据库基础
- HDU 5533 Dancing Stars on Me(判断n个整数点是否能组成正n边形)——2015ACM/ICPC亚洲区长春站