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

            Zero Lee的專欄

            一組數(shù)的全排列和組合程序?qū)崿F(xiàn)

            顯示一組數(shù)的全排列和組合程序:
             1 void print(const std::vector<int>& s)
             2 {
             3     static int n = 1;
             4     printf("%d:", n++);
             5     printf("[");
             6     for (int i = 0; i < s.size(); i++)
             7         printf(" %d ", s[i]);
             8     printf("]\n");
             9 }
            10 
            11 void permutation(std::vector<int>& v, int beg, int end)
            12 {
            13     if (beg > end) {
            14         print(v);
            15         return;
            16     }
            17     for (int i = beg; i <= end; i++) {
            18         std::swap(v[i], v[beg]);
            19         permutation(v, beg+1, end); // pleate note, here always beg+1, not i+1
            20         std::swap(v[i], v[beg]);
            21     }
            22 }
            23 
            24 void pm(std::vector<int>& v)
            25 {
            26     std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
            27     printf("\nfull permulation are:\n");
            28     permutation(v, 0, v.size()-1);
            29 }
            30 
            31 void print(const std::vector<int>& v, int beg, int end)
            32 {
            33     static int n = 1;
            34     printf("%d:", n++);
            35     printf("[");
            36     std::copy(v.begin()+beg, v.begin()+end+1, std::ostream_iterator<int>(std::cout, " "));
            37     printf("]\n");
            38 }
            39 
            40 void fullcombination(std::vector<int>& v)
            41 {
            42     printf("
            full combination are:\n");
            43     for (unsigned int i = 0; i < v.size(); i++) {
            44         print(v, i, i);
            45         for (unsigned int j = i+1; j < v.size(); j++) {
            46             for (int k = 0; k < v.size()-j; k++) {
            47                 std::swap(v[j+k], v[j]);
            48                 print(v, i, j);
            49                 std::swap(v[j+k], v[j]);
            50             }
            51         }
            52     }
            53 }
            54 

            posted on 2011-10-19 09:34 Zero Lee 閱讀(706) 評論(0)  編輯 收藏 引用 所屬分類: Data structure and algorithms

            久久亚洲精品成人无码网站| 亚洲va久久久噜噜噜久久男同| 婷婷久久五月天| 国产亚洲精午夜久久久久久| 精品999久久久久久中文字幕| 人妻精品久久久久中文字幕一冢本| 国产精品久久久久久久久久影院 | 综合久久精品色| 人妻少妇精品久久| 亚洲国产综合久久天堂| 久久精品国产精品亚洲艾草网美妙| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久99精品久久久久久动态图| 久久九九兔免费精品6| 国色天香久久久久久久小说| 一本色道久久88精品综合| 久久精品午夜一区二区福利| 人妻久久久一区二区三区| 久久狠狠高潮亚洲精品| 国产产无码乱码精品久久鸭| 人妻无码久久一区二区三区免费| 无码精品久久久天天影视| 久久男人Av资源网站无码软件 | 久久久久久久波多野结衣高潮| 香蕉99久久国产综合精品宅男自| 久久er国产精品免费观看8| 久久久久香蕉视频| 亚洲国产日韩欧美综合久久| 亚洲AV伊人久久青青草原| 久久亚洲sm情趣捆绑调教| 狠狠色噜噜色狠狠狠综合久久| 久久国产精品无码HDAV| 久久99热国产这有精品| 国产真实乱对白精彩久久| 色天使久久综合网天天| 伊人久久大香线蕉综合影院首页 | 国产精品久久久天天影视香蕉| 久久播电影网| 久久www免费人成看片| 久久精品一区二区三区不卡| 久久一本综合|