最快排序之"桶排序"
2015-08-26 15:43
204 查看
桶排序的基本思想就是利用空间换时间,如果将一最大值为100000的一组数进行排序,最简单粗暴的方法就是桶排序,创建一个100001这么大的数组,每一位代表一个一个数,初始化时将数组全部赋值为零,一次读入需要排序的数,如果读入5278则将Num[5278]++;代表出现过一次5278。输入结束之后,从1开始遍历数组,如果不为0则输出,最后输出的就是一个有序的序列。
这种思想在bit图也用到了,只是需要用的空间变小了,因为一个BYTE中有8个bit,每个bit代表一个数,之后进行赋值排序等等,在处理大数据的时候有事会用的到,当然这不是真正的桶排序,真正的桶排序比这复杂的要多。
这种思想在bit图也用到了,只是需要用的空间变小了,因为一个BYTE中有8个bit,每个bit代表一个数,之后进行赋值排序等等,在处理大数据的时候有事会用的到,当然这不是真正的桶排序,真正的桶排序比这复杂的要多。
#include "stdio.h" #include "string.h" int main() { int Num[1001]; int i,j,t,count; memset(Num,0,sizeof(Num)); scanf("%d",&count); for (i = 0; i < count; ++i) { scanf("%d",&t); Num[t]++; } for(i=1;i<=count;i++) { for(j=1;j<=Num[i];j++) printf("%d ",i); } return 0; }
相关文章推荐
- 二维数组指针
- linux总结应用之六 驱动设备块设备中的中断
- HTML中rel属性分析
- jetty中禁止使用chunked传输数据
- ZooKeeper伪分布式安装
- Java之m2eclipse插件安装
- 自动轮播图
- 排序
- mfc 窗口控件全屏显示
- 我的人生1
- PHP 正则表达式
- Java多线程 -- 线程的交互
- Netty之有效规避内存泄漏
- php对接移动支付宝流程以及商户的私钥、公钥说明
- LeetCode 177 Nth-Highest Salary mysql,取第n条数据,limit子句 难度:1
- 详细的导入导出实例 (20150806)
- html5小趣味知识点系列(一)pubdate
- 【LeetCode】21. Merge Two Sorted Lists
- Java Gossip: Statement、 ResultSet
- WIN10或WIN8.1系统下MDK“the arm c/c++ compiler 已停止工作”解决办法之一