• <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>
            posts - 183,  comments - 10,  trackbacks - 0

            使數(shù)組中的奇數(shù)位于偶數(shù)之前

            從數(shù)組兩端遍歷,檢測當(dāng)前元素的奇偶性,條件允許時交換,直到兩個索引交叉。


            http://www.shnenglu.com/jake1036/archive/2011/05/20/146798.html
             1 #include <iostream>
             2 #include <vector>
             3 #include <algorithm>
             4 using namespace std;
             5 
             6 struct node
             7 {
             8     int m_;
             9 public:
            10     node(int i = 0) : m_(i) {};
            11     int m() const
            12     {
            13         return m_;
            14     }
            15 };
            16 
            17 bool operator < (const node& lhs, const node& rhs)
            18 {
            19     if (lhs.m() % 2 == 1 && rhs.m() % 2 == 0)
            20     {
            21         return true;
            22     }
            23     else if (lhs.m() % 2 == 0 && rhs.m() % 2 == 1)
            24     {
            25         return false;
            26     }
            27     else
            28     {
            29         return lhs.m() < rhs.m();
            30     }
            31 }
            32 
            33 bool operator == (const node& lhs, const node& rhs)
            34 {
            35     return lhs.m() == rhs.m();
            36 }
            37 
            38 bool operator > (const node& lhs, const node& rhs)
            39 {
            40     return !(lhs < rhs || lhs == rhs);
            41 }
            42 
            43 void foo(int a[], int n)
            44 {
            45     int left = 0, right = n - 1;
            46     while (left < right)
            47     {
            48         while (left < right && (a[left] & 0x01== 1)
            49         {
            50             ++left;
            51         }
            52         while (right > left && (a[right] & 0x01== 0)
            53         {
            54             --right;
            55         }
            56         if (left < right)
            57         {
            58             a[left] ^= a[right];
            59             a[right] ^= a[left];
            60             a[left] ^= a[right];
            61         }
            62     }
            63 }
            64 
            65 int main()
            66 {
            67     int a[] = {24681013579};
            68     vector<node> test;
            69     for (int i = 0; i != sizeof (a) / sizeof (*a); ++i)
            70     {
            71         test.push_back(node(a[i]));
            72     }
            73     foo(a, sizeof (a) / sizeof (*a));
            74     for (int i = 0; i != sizeof (a) / sizeof (*a); ++i)
            75     {
            76         cout << a[i] << ' ';
            77     }
            78     cout << endl;
            79 
            80     sort(test.begin(), test.end());
            81     for (vector<node>::size_type i = 0; i != test.size(); ++i)
            82     {
            83         cout << test[i].m() << ' ';
            84     }
            85     cout << endl;
            86 
            87     sort(test.begin(), test.end(), greater<node>());
            88     for (vector<node>::size_type i = 0; i != test.size(); ++i)
            89     {
            90         cout << test[i].m() << ' ';
            91     }
            92     cout << endl;
            93 }


            posted on 2011-07-23 20:20 unixfy 閱讀(216) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产成人精品久久| 狠狠色丁香婷婷久久综合不卡| 久久精品国产亚洲av影院| 香港aa三级久久三级老师2021国产三级精品三级在 | 国内精品伊人久久久久av一坑 | 久久久久这里只有精品 | 国产成人精品久久综合| 国产精品99久久精品| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 亚洲午夜精品久久久久久浪潮| 久久久久亚洲av毛片大| 亚洲国产精品综合久久网络| 久久伊人亚洲AV无码网站| 久久国产美女免费观看精品| 亚洲另类欧美综合久久图片区| 色诱久久av| 久久综合给合久久国产免费| 成人久久久观看免费毛片| 久久久青草青青亚洲国产免观 | 久久福利青草精品资源站免费| 日本精品久久久中文字幕| 久久免费99精品国产自在现线 | 新狼窝色AV性久久久久久| 精品熟女少妇a∨免费久久| 久久99国产精品99久久| 欧美粉嫩小泬久久久久久久 | 国产AⅤ精品一区二区三区久久| 欧美日韩精品久久久久| 久久ww精品w免费人成| 国产精品久久久久乳精品爆| 久久久国产视频| 97久久精品人人澡人人爽 | 中文字幕久久波多野结衣av| 久久综合九色综合欧美狠狠| 综合久久一区二区三区| 久久精品国产91久久综合麻豆自制| 欧美日韩精品久久久久| 国产∨亚洲V天堂无码久久久| 欧美国产成人久久精品| 欧美激情精品久久久久| 99久久国产宗和精品1上映|