• <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>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            STL stable_sort 穩定排序

            所謂穩定排序,是指對一個序列進行排序之后,如果兩個元素的值相等,則原來亂序時在前面的元素現在(排好序之后)仍然排在前面。STL中提供stable_sort()函數來讓我們進行穩定排序。為了更好的說明穩定排序的效果,我們定義了一個結構體元素,一個value成員和一個index成員,前者表示元素的值,后者表示亂序時的索引。

            stable_sort()內部由歸并排序來實現。

            //Coded by 代碼瘋子

            //http://www.programlife.net/

            #include <iostream>

            #include <vector>

            #include <algorithm>

            #include <iterator>

            using namespace std;

             

            typedef struct TagNode

            {

                    int value;

                    int index;

            }Node;

             

            bool myCmp(const Node& a, const Node& b)

            {

                    return a.value < b.value;

            }

             

            int main(int argc, char **argv)

            {

                    vector<Node> coll;

                    Node tmp;

                    int idx = 0, num;

             

                    while(cin >> num && num)

                    {

                           ++idx;

                           tmp.value = num;

                           tmp.index = idx;

                           coll.push_back(tmp);

                    }

             

                    stable_sort(coll.begin(), coll.end(), myCmp);

             

                    cout << "Index\tValue:" << endl;

                    vector<Node>::iterator pos;

                    for(pos = coll.begin(); pos != coll.end(); ++pos)

                    {

                           cout << pos->index << "\t" << pos->value << endl;

                    }

             

                    return 0;

            }

            程序的運行結果如下圖所示,可以看到,對于元素值相同的元素,索引小的在前面,穩定排序就是這么一個效果。

            clip_image001

             

            posted on 2011-02-17 10:39 肥仔 閱讀(5361) 評論(1)  編輯 收藏 引用 所屬分類: Boost & STL

            評論

            # re: STL stable_sort 穩定排序  回復  更多評論   

            哦哦,說得很好,^_^
            2011-07-23 00:49 | xingyezhi
            精品国产乱码久久久久久呢| 无码国内精品久久人妻蜜桃| 韩国三级大全久久网站| 一本大道加勒比久久综合| 91精品免费久久久久久久久| 久久中文字幕无码专区| 欧美大香线蕉线伊人久久| 国产99久久久久久免费看| 久久天天躁夜夜躁狠狠躁2022 | 最新久久免费视频| 精品久久777| 2021久久精品免费观看| 99久久精品国产免看国产一区| 久久天天躁狠狠躁夜夜avapp| 亚洲欧美日韩精品久久| 国产亚洲综合久久系列| 亚洲国产一成久久精品国产成人综合 | 7777精品久久久大香线蕉 | 亚洲人AV永久一区二区三区久久| 久久综合狠狠综合久久| 伊人久久大香线蕉综合5g| 久久国产福利免费| 国产精品久久亚洲不卡动漫| 国产亚洲精久久久久久无码77777| 久久91精品综合国产首页| 伊人久久综在合线亚洲2019| 久久97精品久久久久久久不卡| 久久国产免费观看精品3| 综合网日日天干夜夜久久| 国产精品一区二区久久精品涩爱 | 伊人久久大香线蕉精品不卡| 精品国产青草久久久久福利| 91秦先生久久久久久久| 久久国产精品成人免费| 久久er热视频在这里精品| 久久这里只有精品久久| 91精品国产综合久久久久久| 久久精品国产亚洲欧美| 国产精品免费看久久久香蕉| 国产精品日韩欧美久久综合| 久久精品中文字幕有码|