摘要:
排序是编程中很常用的操作。当要排序的数据量很大,无法一次装入内存时,就要使用外部排序。 外部排序通常的做法是先把数据分成多个可以一次装入内存的小段,对这些段分别使用内部排序,将排好序的段依次写入磁盘,再进行多路归并。 多路归并通常用败者树来加速,但既然stl里有现成的priority_queue,我们可以偷个懒,不去重复发明轮子。 废话少说,我们直接上程序。首先是数据生成器,不做其他什么操作,只是像data.dat中写入一些随机数,注意我们这里生成的全是正整数,运行这个程序一段时间以后我们按下ctrl+C。 1 #include <fstream> 2 #include <c 阅读全文