《编程珠玑》第一章-位图排序

 

位图用每个位的值(0 or 1)来表明一个数是否存在,从而减少了内存使用量,也提高了效率。

问题:

输入:所输入的是一个文件,至多包含n个正整数,每个正整数都小于n,n=10,000,000.数字不重复,且不相互关联

输出:经过排序的整数列表

约束:至多1M的可用内存,可用磁盘空间充足。运行时间最多几分钟,最好是10S

特点: 1. 数的范围小;        2. 没有重复数字;           3. 数之间不相连;

实现:

 

下面是生成[1,n]之间的k个不重复随机数的代码:

  

 

 

posted @ 2010-11-03 22:11  liyuxia713  阅读(147)  评论(0编辑  收藏  举报