排序算法(七)海量数据的排序问题

     前边几篇文章,整理过各种各样的排序,但是那些排序都是只能在内存中进行排序,而如果给大量的数据(内存中无法容纳),要给这些数据进行排序,我们就需要借助于一种外排序----归并排序(之后的文章详细介绍)。
     对于大数据的排序,我们只能讲数据存储在磁盘上,然后将存储数据的文件进行分割,将小文件中的数据拿到内存中去借助快排进行排序,最后将小文件合并为一个大文件。在这中间,小文件比较多,我将小文件名存储在一个队列中,当队列的大小为1时,合并完毕。
代码中遇到的问题:1.文件名称一样,导致文件的覆盖,程序死循环。 2.在文件合并时,每次从两个文件中分别读到一个数据,只将小的写进 合并文件,当有一个文件已经读取完,另一个文件还没有读完时,我们就应该 将上次读到的数据(还没有写进合并文件)写到文件,再进行读取。
代码缺陷:文件名很糟糕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值