C++归并排序算法的代码
把开发过程中比较重要的内容片段备份一次,如下的资料是关于C++归并排序算法的内容,希望对各朋友有一些用。
#include<cstdlib>#include<limits>#include<iostream>#include<vector>#include<iomanip>using namespace std;typedef vector<int>::iterator ivecIte;void merge(vector<int> &ivec, ivecIte iteB, ivecIte iteMark, ivecIte iteE){ vector<int> v1(iteB, iteMark), v2(iteMark, iteE); v1.push_back(numeric_limits<int>::max()); v2.push_back(numeric_limits<int>::max()); ivecIte ite1 = v1.begin(), ite2 = v2.begin(); for(ivecIte iteTurn = iteB; iteE != iteTurn; ++iteTurn){ }}void mergeSort(vector<int> &ivec, ivecIte iteB, ivecIte iteE){ size_t div = iteE - iteB; if(1 < div) { div /= 2; mergeSort(ivec, iteB, iteB + div); mergeSort(ivec, iteB + div, iteE); merge(ivec, iteB, iteB + div, iteE); }}int main(){ vector<int> ivec; cout<<"input some integers with end-of-file!"<<endl; int inData; while(cin>>inData) ivec.push_back(inData); ivecIte iteS = ivec.begin(), iteE = ivec.end(); mergeSort(ivec, iteS, iteE); for(iteS = ivec.begin(); iteS != ivec.end(); ++iteS) cout<<endl; system("PAUSE"); return EXIT_SUCCESS;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。