1T文件如何排序
先根据你的内存将大文件分段,
比如:你的可用内存有1GB,那么就要将大文件分成1TB / 1GB = 1000段
然后将每段依次读入内存,在内存中使用内部排序算法(例如快速排序,堆排序等)将其排好序,然后将其输出成各个分段文件,
例如:file1,file2,…,file1000
然后对这一千个分段文件的文件头(或文件指针),建立一颗败者树,用来选取当前最小的元素(或最大的元素,依你的排序要求而定)并将这最小的元素输出到最终的输出文件里。
重复这一过程,直到1000个分段文件全部被输出。删去这1000个分段文件,仅保留最终的输出文件,即得到排好序的文件。