• <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>
            OnTheWay2012
            埋葬昨天的我,迎來重生的我!
            posts - 15,  comments - 89,  trackbacks - 0
                最近一直忙著寫文檔,都快忘記代碼怎么寫了,昨天在一本書上看到一個很經典的字符串相關的題目——給定一個字符串,求其所有可能組合。例如給定字符串是“abc”,那么依照該題目,答案是“abc”“acb”“bac”“bca”“cab”“cba”.我看到書上給出的解釋很復雜,并且書上的東西不是自己思考的結果,所以就想自己好好想想怎么做這道題。本來感覺題目很簡單,也大概明白題目的思路,可是就是不知道如何寫程序,結果在下班回住的地方的路上想了一路,今天早上又想了一會,終于想出來了??磥砦疫€是很笨地,需要多努力,才能做到笨鳥先飛。以下是關于這個問題的詳細說明和代碼

            該問題的解題思路如下圖所示:


            根據該問題的解題思路,該問題的相關代碼如下:
             1 #include <iostream>
             
            2 #include <numeric>
             
            3 #include <algorithm>
             
            4 
             
            5 using namespace std;
             
            6 
             
            7 void SwapItem(char *pStr, int nFirst, int nSecond)
             
            8 {
             
            9     char ch = pStr[nFirst];
            10     pStr[nFirst] = pStr[nSecond];
            11     pStr[nSecond] = ch;
            12 }
            13 
            14 void PrintSet(char *pAll, char *pSub)
            15 {
            16     size_t size = strlen(pSub);
            17     switch (size)
            18     {
            19     case 1:
            20         {
            21             cout<<pAll<<endl;
            22             break;
            23         }
            24     default:
            25         {
            26             for (unsigned int i = 0 ; i < size ; i++)
            27             {
            28                 SwapItem(pSub, 0, i);
            29                 PrintSet(pAll, pSub + 1);
            30                 SwapItem(pSub, i, 0);
            31             }
            32             break;
            33         }
            34     }
            35 }
            36 
            37 int main(int argc, char *argv)
            38 {
            39     char chArr[] = "abcd";
            40     PrintSet(chArr, chArr);
            41     return 0;
            42 }
            雖然代碼是寫完了,結果也正確,但是感覺還是不太理解,哪位大俠要是看到了,能不能再解釋一下。另外感覺上面的圖和代碼不是太一致。
            呵呵,看來需要很努力,才能學會點東西,太笨了。
            posted on 2010-11-27 08:32 OnTheWay 閱讀(1406) 評論(0)  編輯 收藏 引用 所屬分類: 算法

            <2010年11月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            友情連接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            97久久超碰国产精品2021| 久久久久国色AV免费看图片| 亚洲第一极品精品无码久久 | 青青青国产成人久久111网站| 91久久九九无码成人网站| 亚洲Av无码国产情品久久| 久久久久亚洲AV片无码下载蜜桃 | 伊人久久大香线蕉AV色婷婷色| 久久精品国产福利国产秒| 香蕉久久久久久狠狠色| 97精品国产91久久久久久| 超级碰碰碰碰97久久久久| 精品久久久久久综合日本| 久久久久亚洲精品天堂| 香蕉久久夜色精品国产尤物| 99国内精品久久久久久久| 亚洲午夜久久久久久噜噜噜| 久久久久久亚洲精品无码| 97久久精品国产精品青草| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 久久精品国产精品亚洲毛片| 一本一本久久a久久精品综合麻豆| 久久超碰97人人做人人爱| 99久久夜色精品国产网站| 亚洲另类欧美综合久久图片区| 久久精品国产清自在天天线| 99久久精品国产毛片| 久久99热国产这有精品| 久久人妻少妇嫩草AV无码专区| 久久精品国产亚洲AV忘忧草18| 色综合合久久天天给综看| 久久久久亚洲精品男人的天堂 | 久久99亚洲网美利坚合众国| 久久这里只有精品18| 无码人妻久久久一区二区三区 | 久久国产色av免费看| 99久久精品免费看国产一区二区三区 | 久久99精品久久久久久动态图| 久久亚洲精品成人AV| 国产日产久久高清欧美一区| 国产精品99久久精品|