• <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 閱讀(325) 評論(0)  編輯 收藏 引用 所屬分類: 算法基礎
            久久久久波多野结衣高潮| 久久久久久久91精品免费观看 | 久久精品夜夜夜夜夜久久| 久久精品国产亚洲AV麻豆网站| 久久综合久久综合九色| 国产精品亚洲综合专区片高清久久久| 久久免费视频6| 国产精品久久久久影院嫩草| 国产精品99久久久久久宅男小说| 久久人妻少妇嫩草AV无码专区| 99久久99久久精品国产片果冻 | 欧美精品一区二区精品久久| 国产精品成人久久久| 777久久精品一区二区三区无码| 亚洲精品tv久久久久久久久| 人妻少妇精品久久| 四虎国产精品免费久久久| 日韩人妻无码精品久久免费一| 香蕉久久影院| 久久国产成人午夜aⅴ影院| 久久婷婷久久一区二区三区| 精品熟女少妇av免费久久| 精品久久亚洲中文无码| 久久久久亚洲av成人网人人软件 | 中文字幕无码久久久| 久久国产福利免费| 国产精品成人精品久久久 | 欧美午夜精品久久久久免费视| 日日狠狠久久偷偷色综合0| 国产叼嘿久久精品久久| 精品国产乱码久久久久久浪潮| 久久se精品一区二区| 69久久精品无码一区二区| 久久亚洲欧美国产精品| www性久久久com| 久久九九全国免费| 国内精品久久久久久久久| 四虎国产精品成人免费久久| 亚洲综合久久夜AV | 亚洲AV无一区二区三区久久| 青草国产精品久久久久久|