一个2G的文件中存储的全是不大于8亿的四字节正整数,请排序

来源:百度知道 编辑:UC知道 时间:2024/05/13 19:48:52
一个2G的文件中存储的全是不大于8亿的四字节正整数,请使用不大于200M的内存对其进行排序并输出到一个文件。

急求,被采纳者再奖励50分

我...实在懒得写了

首先把文件分成一系列小块用qsort对每个小块排序。然后用merge sort将这些小块逐渐合并。

merge sort的时候把可用内存分成三部分。两个读取缓冲一个写入缓冲。读取缓冲是内存块的循环队列,并且必须保证总尺寸是写入缓冲的四倍以上。这样就可以做到很均一化的块状读写。

这么简单的东西,用二叉树