在此网页中:
http://web.eecs.utk.edu/~huangj/CS302S04/notes/external- sorting2.html
将生成的运行合并到更大的运行中,直到对文件进行排序。
正如我所引用的,我们如何将生成的结果合并在一起?我们没有那么多的记忆。
假设您有1-9
9 7 2 6 3 4 8 5 1
并假设一次只有3个内存。
因此,您可以将它们分成3个小块并进行排序,然后将每个结果存储在单独的文件中:
279 346 158
现在,您将三个文件分别作为流打开,并从每个文件中读取第一个值:
2 3 1
输出最低的值1,并从该流中获取下一个值,现在您有了:
1
2 3 5
输出下一个最小值2,然后继续操作,直到输出了整个排序列表。
2