C++归并排序算法的代码
发布时间:2020-12-16 10:46:27 所属栏目:百科 来源:网络整理
导读:把开发过程中比较重要的内容片段备份一次,如下的资料是关于C++归并排序算法的内容,希望对各朋友有一些用。 #includecstdlib#includelimits#includeiostream#includevector#includeiomanipusing namespace std;typedef vectorint::iterator ivecIte;void me
把开发过程中比较重要的内容片段备份一次,如下的资料是关于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 iteE) { size_t div = iteE - iteB; if(1 < div) { div /= 2; mergeSort(ivec,iteB,iteB + div); mergeSort(ivec,iteB + div,iteE); merge(ivec,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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |