内存相对太小,直接在内存中排序肯定不行,因此需要:
1. 对源文件进行拆分,分成50份,每份2G;
2. 对每一个2G文件进行排序;
3. 设置2000/50 = 40M的输入缓存50个in_cache[],1G的输出缓存out_cache);
4. 依次从50个2G文件中写入到50个40M缓存中;
5. 使用50路归并排序算法,对所有缓存进行排序,结果放入输出缓存中;
内存相对太小,直接在内存中排序肯定不行,因此需要:
1. 对源文件进行拆分,分成50份,每份2G;
2. 对每一个2G文件进行排序;
3. 设置2000/50 = 40M的输入缓存50个in_cache[],1G的输出缓存out_cache);
4. 依次从50个2G文件中写入到50个40M缓存中;
5. 使用50路归并排序算法,对所有缓存进行排序,结果放入输出缓存中;
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。