[求问] 在内存限制下如何对数组排序

查看 139|回复 12
verrickt   
1. 将 100w 数据以 5w 大小分 20 组写入文件
2. 将这 20 组数据分别读到内存中排序
3. 读取 20 组数据的最小值到内存,比较出最小值写入文件,再从最小值所在组读入一个新数据
4. 再比较出最小值写入文件,再从最小值所在组读入新值
5. 直到读完 20 组数据,那写入的文件也是 100w 排序后的数据了
nuk   
外部排序+流式处理
Tanix2   
随机从数组中取出 5w 个元素,排序后塞回原来的位置。当随机足够多次,排序稳定后,再检查一遍,如果没排序完,就接着循环。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部