2012年3月23日
摘要: 最近在 《编程珠玑》 这本书上看到一种有趣的高效排序方法, 在这里介绍下。排序的前提条件:排序的数据中没有重复的数据数据的分布应该相对集中些这时可以利用位操作来进行排序.比如说如果你要对0~999中的100个数排序, 先创建一个125字节(1000位)长的数组c.如果你从待排序的数据中读到x, 则将c的第x位置一. 之后通过按位读c的值, 就可以输出排序好的数据了. 简单而高效, 不过就是条件有些苛刻.附上一段C写的实现, 代码可以产生一个含100万个大于0小于1000万的无重复随机数的文件data.txt, 并输出一个排好序的文件sort.txt 1 #include <stdio.h 阅读全文
posted @ 2012-03-23 12:58 at2021 阅读(1087) 评论(0) 推荐(0) 编辑