加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读