我认为这里的解决方案是使用临时文件进行合并排序:
读取第一个文件的前 n 行,( n 是您可以负担的存储量和在内存中排序的行数),对它们进行排序,然后将其写入文件
1.tmp
(或调用它)。对接下来的 n 行进行同样的 *** 作,并将其存储在中2.tmp
。重复直到处理完原始文件的所有行。读取每个临时文件的第一行。确定最小的一个(根据您的排序顺序),将其写入目标文件,然后从相应的临时文件中读取下一行。重复直到所有行都已处理。
删除所有临时文件。
只要您有足够的磁盘空间,此方法就可以处理任意大文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)