c++文件怎么排序。此时文件很大,将文件内容全部放入内存再排不现实,这下怎么办?

[复制链接]
查看11 | 回复5 | 2011-7-5 22:21:00 | 显示全部楼层 |阅读模式
各位BOSS能给出具体的算法吗?

回复

使用道具 举报

千问 | 2011-7-5 22:21:00 | 显示全部楼层
//---------------------------------------------------------------------------#include #include int comp(const void *a,const void *b){ int fg=1; /*fg=1表示升序排序,fg=-1表示降序排序*/ return fg*(*(int *)a-*(int *)b);}int main(void){ FILE *fp=fopen("c:\\dat.txt","r");/*待排序数据文件,可在此修改*/ i...
回复

使用道具 举报

千问 | 2011-7-5 22:21:00 | 显示全部楼层
如果是要实现的是对文件内容排序的话,对于大文件可以采用多路归并排序的方法,在数据结构教材上有。参考文献http://baike.baidu.com/view/1368718.htm...
回复

使用道具 举报

千问 | 2011-7-5 22:21:00 | 显示全部楼层
可以按文件名排序...
回复

使用道具 举报

千问 | 2011-7-5 22:21:00 | 显示全部楼层
可以尝试下Mergsort,分治思想,也比较容易实现...
回复

使用道具 举报

千问 | 2011-7-5 22:21:00 | 显示全部楼层
打开《数据结构》...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行