现在讨论外部排序,所谓外部排序,就是待排序的数据不能够一次性放入主存,故需多次读入主存进行排序。
归并排序是外部排序的核心思想。
一般来说外排序分为两个步骤:预处理和合并排序。即首先根据内存的大小,将有n个记录的磁盘文件分批读入内存,采用有效的内存排序方法进行排序,将其预处理为若干个有序的子文件,这些有序子文件就是初始
顺串,然后采用合并的方法将这些初始顺串逐趟合并成一个有序文件。
预处理阶段最重要的事情就是选择初始
顺串。通常使用的方法为置换
选择排序,它是
堆排序的一种变形,实现思路同STL的partial_sort