您的位置:首页 > 其它

补第三周作业:冒泡排序法

2014-06-12 08:32 281 查看
#include <iostream>
#include <fstream>
#include <vector>
#include <ctime>

using namespace std;

bool bubbleSort(char* inFileName,char* outFileName)
{
ifstream inFile(inFileName);//打开输入文件
ofstream outFile(outFileName);//打开并清空文件
if(!inFile || !outFile)
{
cout<<"文件读取失败!"<<endl;
outFile.close();
inFile.close();
return false;
}
int temp = 0;
vector<int> vInt;
while(inFile>>temp)
{
vInt.push_back(temp);
}
vector<int>::iterator beg = vInt.begin() ,iter_i ,iter_j;

//冒泡开始
for(iter_i = beg;iter_i != vInt.end();++iter_i)
{
for(iter_j = iter_i + 1;iter_j != vInt.end();++iter_j)
{
if( (*iter_i) > (*iter_j) )
{
temp = *iter_j;
*iter_j = *iter_i;
*iter_i = temp;
}
}
}

for(iter_i = beg;iter_i != vInt.end();++iter_i)
{
outFile<<*iter_i<<endl;
}

outFile.close();
inFile.close();
return true;
}

int main(int argc,char* argv[])
{
if( argc != 3 )
{
cout<<"输入有误!"<<endl;
return -1;
}
clock_t start_time,end_time;
double totaltime;
start_time = clock();//计时开始

bubbleSort(argv[1] ,argv[2]);//调用冒泡排序

end_time = clock();//计时结束
totaltime=(double)(end_time-start_time)/CLOCKS_PER_SEC;
cout<<"\n此程序的运行时间为"<<totaltime<<"秒!"<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: