9. 荷蘭國旗問題

題意:把n個紅、白罗岖、藍(lán)三種不同顏色的小球涧至,亂序排列在一起,請通過兩兩交換任意兩球的方式桑包,使得從左到右小球的顏色依次為紅南蓬、白、藍(lán)哑了。紅赘方、白、藍(lán)分別用0弱左、1窄陡、2表示。
算法思想:借鑒快速排序劃分法拆火,設(shè)置三個指針——begin跳夭、middle、end们镜,分別指向0币叹、1、2憎账。

#include <stdio.h>

void swap(int * a, int * b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}

int main()
{
    freopen("in.txt", "r", stdin);

    int n, buf[100];

    while(scanf("%d", &n) != EOF)
    {
        for(int i = 1; i <= n; ++i)
            scanf("%d", &buf[i]);

        int begin, middle, end;
        begin = middle = 1;
        end = n;

        while(middle <= end)
        {
            if(buf[middle] == 0)
            {
                swap(&buf[begin], &buf[middle]);
                begin++;
                middle++;
            }
            else if(buf[middle] == 2)
            {
                swap(&buf[middle], &buf[end]);
                end--;  //end可能指向0,所以middle不可以右移
            }
            else
                middle++;
        }

        for(int i = 1; i <= n; ++i)
            printf("%d ", buf[i]);
        printf("\n");

    }

    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末套硼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子胞皱,更是在濱河造成了極大的恐慌邪意,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件反砌,死亡現(xiàn)場離奇詭異雾鬼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)宴树,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門策菜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事又憨〈浠簦” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵蠢莺,是天一觀的道長寒匙。 經(jīng)常有香客問我,道長躏将,這世上最難降的妖魔是什么锄弱? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮祸憋,結(jié)果婚禮上会宪,老公的妹妹穿的比我還像新娘。我一直安慰自己蚯窥,他們只是感情好掸鹅,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沟沙,像睡著了一般河劝。 火紅的嫁衣襯著肌膚如雪壁榕。 梳的紋絲不亂的頭發(fā)上矛紫,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天,我揣著相機(jī)與錄音牌里,去河邊找鬼颊咬。 笑死,一個胖子當(dāng)著我的面吹牛牡辽,可吹牛的內(nèi)容都是我干的喳篇。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼态辛,長吁一口氣:“原來是場噩夢啊……” “哼麸澜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起奏黑,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤炊邦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后熟史,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馁害,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年蹂匹,在試婚紗的時候發(fā)現(xiàn)自己被綠了碘菜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖忍啸,靈堂內(nèi)的尸體忽然破棺而出仰坦,到底是詐尸還是另有隱情,我是刑警寧澤计雌,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布缎岗,位于F島的核電站,受9級特大地震影響白粉,放射性物質(zhì)發(fā)生泄漏传泊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一鸭巴、第九天 我趴在偏房一處隱蔽的房頂上張望眷细。 院中可真熱鬧,春花似錦鹃祖、人聲如沸溪椎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽校读。三九已至,卻和暖如春祖能,著一層夾襖步出監(jiān)牢的瞬間歉秫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工养铸, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留雁芙,地道東北人。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓钞螟,卻偏偏與公主長得像兔甘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鳞滨,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗洞焙。 張土汪:刷leetcod...
    土汪閱讀 12,738評論 0 33
  • 翻開趁早日記本,健身計劃下有一行字觸目驚心:2015年過去一半拯啦,如果年初就開始打卡堅持澡匪,應(yīng)該已然脫胎換骨了。勞動節(jié)...
    薛定諤貓貓閱讀 317評論 0 1
  • 第一次做手帳提岔,第一次用簡書發(fā)日跡仙蛉,感覺棒棒噠 今天一整天的感受就是: 今朝有酒今朝醉,總是情字使人累碱蒙。 酒酣無語情...
    雨落青黎rain閱讀 205評論 0 0
  • 夜守紫禁會議門 八尺男兒軀 雙目似冰如有神 燈隨路遠(yuǎn)去 寒襲志不移 望京都 嘆長息 星稀車漫漫 凄身會中心 何日飛...
    拿什么拯救地球閱讀 170評論 0 0
  • 人與人只間交流當(dāng)然要說話荠瘪,有些話可以影響一個人的一生夯巷,有些話讓人難忘,比如老師的教誨哀墓,父母的關(guān)心趁餐,都讓我們...
    平淡很華閱讀 150評論 0 0