C ++较大文件内容排序····帮忙急用啊·

来源:百度知道 编辑:UC知道 时间:2024/06/09 05:05:48
大型文件排序
文件为一TXT文本 内容:int 和 double型数字 每个间用空格 回车隔开
数据长度>10MB
俺从小到大将数字排序并将结果输出到另一文件中 输出文件也为一个TXT文本
请帮忙全用C++写完整~~~小弟我新学··作业搞不定啊·

我前段时间用VC处理了200多万数据,也是折腾了挺久的。

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
ifstream infile("a.doc",ios::in);
if(! infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
ofstream outfile("a11.xls",ios::out);
if(!outfile)
{
cerr<<"a11 open error!"<<endl;
exit(1);
}
long int i,j;
int a[230400];
for(j=0;j<9;j++)
{
for(i=0;i<230400;i++)
{
infile>>a[i];
a[i]=(a[i]-159)*21/96+159;
outfile<<a[i]<<"\t";
if((i+1)%240==0)outfile<<endl;
}
}
infile.close();
outfile.close();
return 0;
}

我这里是判断230400*9=2073600个数据,将所有的值缩小到一定范围。输入DOC格式,输出EXCEL矩阵。程序是正确的,因为是毕业论文。
你这里要求排序,可能还会麻烦点的,循环的比较多,你改改吧。