补第三周作业:冒泡排序法
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; }