• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            獨立博客: 哲學與程序

            哲學與程序

            STL之Merge

            STL中合并算法merge介紹,merge與inplace_merge。
            merge合并兩個有序的sequence,默認為<比較,可自定義比較函數comp,結果保存在[result, result + (last1 - first1) + (last2 - first2)) 中。函數定義如下:
            OutputIterator merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)
            OutputIterator merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)

            inplace_merge合并一個中前后兩段分別有序的序列,即[first,middle)與[middle,last)分別有序,合并這兩個子序列,并把結果保存在[first,last)中。
            inplace_merge (BidirectionalIterator first, BidirectionalIterator middle, BidirectionalIterator last);
            inplace_merge (BidirectionalIterator first, BidirectionalIterator middle, BidirectionalIterator last, Compare comp);

            #include<string>
            #include
            <algorithm>
            #include
            <iostream>
            #include
            <iterator>
            #include
            <vector>
            using namespace std;
            int main()
            {
                vector
            <int>v1;
                vector
            <int>v2;
                vector
            <int>v3;
                vector
            <int>::iterator vecitr;
                
            for(int i = 1; i <= 10; i++){
                    v1.push_back(i
            %7);
                    v2.push_back(i
            %4);
                }
                sort(v1.begin(),v1.end());
                cout 
            << "Fisrt vecter: ";
                copy(v1.begin(),v1.end(),ostream_iterator
            <int>(cout," "));
                cout 
            << endl << endl;
                sort(v2.begin(),v2.end());
                cout 
            << "Second vecter: ";
                copy(v2.begin(),v2.end(),ostream_iterator
            <int>(cout," "));
                cout 
            << endl << endl;
                cout 
            << "Merge this two vecter: ";
                merge(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator
            <int>(cout," "));
                cout 
            << endl << endl;
                
            for(int i = 1; i <= 10; i++){
                    v3.push_back(i
            %7);
                }
                sort(v3.begin(),v3.end());
                
            int x = v3.size();
                
            for(int i = 1; i <= 10; i++){
                    v3.push_back(i
            %4);
                }
                vecitr 
            = v3.begin();
                advance(vecitr,x);
                sort(vecitr,v3.end());
                cout 
            << "Third vecter: ";
                copy(v3.begin(),v3.end(),ostream_iterator
            <int>(cout," "));
                cout 
            << endl << endl;
                cout 
            << "inplace_Merge third vecter: ";
                inplace_merge(v3.begin(),vecitr,v3.end());
                copy(v3.begin(),v3.end(),ostream_iterator
            <int>(cout," "));
                cout 
            << endl << endl;
                return 0;
            }
            Fisrt vecter: 0 1 1 2 2 3 3 4 5 6

            Second vecter: 
            0 0 1 1 1 2 2 2 3 3

            Merge 
            this two vecter: 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 4 5 6

            Third vecter: 
            0 1 1 2 2 3 3 4 5 6 0 0 1 1 1 2 2 2 3 3

            inplace_Merge third vecter: 
            0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 4 5 6


            posted on 2011-01-17 21:35 哲學與程序 閱讀(1604) 評論(0)  編輯 收藏 引用 所屬分類: AlgorithmC & C++C++ STL

            導航

            公告

            歡迎訪問 http://zhexue.sinaapp.com

            常用鏈接

            隨筆分類(37)

            隨筆檔案(41)

            Algorithm

            最新隨筆

            搜索

            最新評論

            獨立博客: 哲學與程序
            亚洲国产成人精品无码久久久久久综合| 超级97碰碰碰碰久久久久最新| 国产精品美女久久久久| 久久精品成人国产午夜| 久久丝袜精品中文字幕| 狠狠色婷婷久久一区二区| 久久国产精品一区二区| 久久精品中文字幕有码| 久久久久久九九99精品| 久久人人爽人人爽AV片| 国内精品九九久久久精品| 久久亚洲AV永久无码精品| 成人国内精品久久久久影院| 久久亚洲精品无码播放| 久久久久久久99精品免费观看| 99久久这里只精品国产免费| 国产ww久久久久久久久久| 久久人妻少妇嫩草AV无码专区| 国产香蕉97碰碰久久人人| 777米奇久久最新地址| 2020久久精品亚洲热综合一本| 91精品国产91久久久久久| 99久久精品国产麻豆| 中文字幕乱码人妻无码久久| 亚洲精品国精品久久99热| 精品久久久久久无码中文野结衣 | 日本福利片国产午夜久久| 亚洲一区精品伊人久久伊人| 品成人欧美大片久久国产欧美| 久久婷婷国产综合精品 | 一级女性全黄久久生活片免费| 久久这里只精品国产99热| 乱亲女H秽乱长久久久| 少妇内射兰兰久久| 精品国产乱码久久久久软件| 波多野结衣久久精品| 亚洲综合伊人久久大杳蕉| 亚洲中文字幕久久精品无码APP | 久久91精品久久91综合| 国产91色综合久久免费分享| 乱亲女H秽乱长久久久|