#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("data.txt"); //文件路径加文件名
ofstream fout("data_out.txt");//输出文件路径加文件名
vector<int> num;
int i;
while(fin>>i)
num.push_back(i);
for(vector<int>::iterator index_one=num.begin();index_one!=num.end();++index_one)
for(vector<int>::iterator index_two=index_one+1;index_two!=num.end();++index_two)
if(*index_one<=*index_two){
int x=*index_one;
*index_one=*index_two;
*index_two=x;
}
for(vector<int>::iterator index=num.begin();index!=num.end();++index)
fout<<*index<<" ";
return 0;
}
//可排任意多个数字(降序,稍微修改可升序),文本文档里面的数字需要以空格分开
如果你所有的数据都是有效的,把数字读取进内存中,选个合适的排序算法,就你的需求
如果文件中纪录的数据不多,可以一次读进内存中那么比较简单,如果数据很多,那要使用
外部排序算法。顺便送你个 冒泡法排序代码
//
#define NUMBER_COUNT 10
-(void)BubbleSort//冒泡
{
int iTmp = 0;
for (int i = 0; i < NUMBER_COUNT ; i++)
{
for (int j = NUMBER_COUNT -1; j>0; j--)
{
if (iArray[j ] > iArray[j-1])
{
iTmp = g_iArray[j ];
g_iArray[j ] =g_ iArray[j -1];
g_ iArray[j-1 ] = iTmp;
}
}
}
}
你是c++还是vc?vc的话用mfc的类库很简单
广告 您可能关注的内容 |