• <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 哲學與程序 閱讀(1587) 評論(0)  編輯 收藏 引用 所屬分類: AlgorithmC & C++C++ STL

            導航

            公告

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

            常用鏈接

            隨筆分類(37)

            隨筆檔案(41)

            Algorithm

            最新隨筆

            搜索

            最新評論

            獨立博客: 哲學與程序
            久久婷婷久久一区二区三区| 国产99久久久国产精免费| 日本精品久久久久中文字幕| 久久久久青草线蕉综合超碰| 久久一区二区免费播放| 国内精品久久久久久久影视麻豆| 国产精品久久久天天影视| 久久超碰97人人做人人爱| 亚洲AV无码久久精品成人| 久久久久久久波多野结衣高潮 | 色综合久久中文字幕无码| 久久精品一区二区三区AV| 香蕉久久永久视频| 18禁黄久久久AAA片| 精品国产青草久久久久福利| 久久天天婷婷五月俺也去| 久久国产精品无| 久久综合亚洲色HEZYO社区 | 精品人妻久久久久久888| 色婷婷综合久久久久中文 | 亚洲精品乱码久久久久久不卡| 久久久久女教师免费一区| 亚洲精品WWW久久久久久 | 97久久久久人妻精品专区| 久久不射电影网| 久久人人爽人人爽AV片| 午夜精品久久久久久影视777| 国产精品久久久久a影院| 波多野结衣AV无码久久一区| 久久久精品人妻一区二区三区四 | 伊人久久精品无码二区麻豆| 久久精品人人做人人妻人人玩 | 国产亚洲色婷婷久久99精品91 | 伊人久久大香线蕉av不卡| 国产人久久人人人人爽| 亚洲国产精品久久久久| 无码精品久久一区二区三区| 2020国产成人久久精品| 九九99精品久久久久久| 久久性精品| aaa级精品久久久国产片|