• <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>
            隨筆-80  評論-24  文章-0  trackbacks-0
            給定一個數組,要求輸出其全排列。
            比如對1 2 3,其全排列數為3!。
            那么我們如何做呢?其實手寫全排列就能發現規律,我們會如下寫:
            1 2 3
            1 3 2
            2 1 3
            2 3 2
            3 2 1
            3 1 2
            這有什么規律呢?其實我們寫下的全排列是:1(2 3)! 和2(1 3)!和3(2 1)!
            所以就是一個典型的遞歸問題了:

             1 inline void swap(int *a, int *b) {
             2   int temp = *b; 
             3   *b = *a; 
             4   *a = temp;
             5 }
             6 
             7 void do_permutation(int *a, int k, int n) {
             8   int i;
             9   if (k >= n - 1) {
            10     for (i = 0; i < n; ++i) {
            11       printf("%d ", a[i]);
            12     }   
            13     printf("\n");
            14     return;
            15   }
            16   for (i = k; i < n; ++i) {
            17     swap(a + k, a + i); 
            18     do_permutation(a, k + 1, n); 
            19     swap(a + k, a + i); 
            20   }
            21 }
            22 
            23 void permutation(int *a, int n) {
            24   do_permutation(a, 0, n); 
            25 }
            posted on 2012-09-06 22:16 myjfm 閱讀(316) 評論(0)  編輯 收藏 引用 所屬分類: 算法基礎
            婷婷久久香蕉五月综合加勒比| 久久国产免费直播| 伊人久久精品无码二区麻豆| 久久精品国产亚洲5555| 久久精品九九亚洲精品天堂| 国产亚洲精久久久久久无码| 人妻无码中文久久久久专区| 久久精品青青草原伊人| 久久频这里精品99香蕉久| 久久综合一区二区无码| 久久亚洲高清综合| 一级A毛片免费观看久久精品| 久久久久黑人强伦姧人妻| 久久无码国产| 国产69精品久久久久APP下载| 性做久久久久久久久老女人| 手机看片久久高清国产日韩| 久久一本综合| 国产成人久久精品一区二区三区| 亚洲欧洲日产国码无码久久99| 国产亚洲精久久久久久无码77777| 伊人久久大香线蕉综合热线| 狠狠色丁香久久婷婷综合_中| 欧美日韩精品久久久免费观看| 一本色道久久HEZYO无码| 久久人人爽爽爽人久久久| 久久国产精品一区二区| 国产精品99久久精品爆乳| 亚洲国产成人乱码精品女人久久久不卡| 亚洲?V乱码久久精品蜜桃| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲国产成人精品91久久久| 久久只有这里有精品4| 亚洲国产欧洲综合997久久| 国产69精品久久久久777| 国产99久久久国产精免费| 伊人久久无码精品中文字幕| 久久免费的精品国产V∧| 精品久久久久久无码免费| 伊人久久无码精品中文字幕| 69久久精品无码一区二区|