<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Feng.Li's Java See

    抓緊時間,大步向前。
    隨筆 - 95, 文章 - 4, 評論 - 58, 引用 - 0
    數據加載中……

    全排列的遞歸算法

    void perm(char *list, int i, int n){
    int j,temp;
    if(i == n){
    for(j = 0; j < n; j++)
    cout<<list[j];
    cout<<" ";
    }
    else{
    for(j = i; j < n; j++){
    SWAP(list[i],list[j],temp);
    perm(list,i+1,n);
    SWAP(list[i],list[j],temp);
    }

    for(j = i; j < n; j++){
    SWAP(list[i],list[j],temp); //將第j數字做為第一個
    perm(list,i+1,n);
    SWAP(list[i],list[j],temp); //將第j數字換回原來位置,準備用第j+1個做做為第一個

    }
    -----------------------------------------------------------
    建議你將函數修改成以下形式,自己觀察一下
    -----------------------------------------------------------
    void perm(char *list, int i, int n){
    int j,temp;
    for(j = 0; j < n; j++)
    cout<<list[j]<<endl;
    if(i == n){
    for(j = 0; j < n; j++)
    cout<<list[j];
    cout<<" "<<i=n了<<" ";
    }
    else{
    for(j = i; j < n; j++){
    SWAP(list[i],list[j],temp);
    perm(list,i+1,n);
    SWAP(list[i],list[j],temp);

    }
    ========================================================================================================

    下面是完整的程序:C#

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                char[] list = {'a','b','c','d' };
                perm(list, 0, 4);
                Console.ReadLine();
            }
            static void perm(char[] list, int i, int n)
            {
                int j,temp;
                if(i==n)
                {
                 
                    for(j=0;j<n;j++)
                    {
                        Console.Write(list[j]);
                        //Console.WriteLine();
                    }
                }
                else

                   
                {
                   
                    for (j=i;j<n;j++)
                    {
                        swap(ref list[i],ref list[j]);
                        perm(list,i+1,n);
                        swap(ref list[i], ref list[j]);
                    }
                }
            }
            static void swap(ref char  a, ref char  b)
            {
                char c = a;
                a = b;
                b = c;
               
              
            }
        }
    }


    posted on 2007-10-09 08:58 小鋒 閱讀(455) 評論(0)  編輯  收藏 所屬分類: algorithm

    主站蜘蛛池模板: 免费又黄又硬又爽大片| 久久精品一本到99热免费| 卡1卡2卡3卡4卡5免费视频| 亚洲国产超清无码专区| 欧洲精品99毛片免费高清观看| 亚洲精品自产拍在线观看| 中国一级特黄高清免费的大片中国一级黄色片| 四虎1515hm免费国产| 特黄特色大片免费| 亚洲AV无码片一区二区三区| 青青草a免费线观a| 亚洲日韩av无码中文| 免费在线观看黄网| jizz中国免费| 亚洲爱情岛论坛永久| 日韩亚洲人成网站| 亚洲国产精品综合久久网络| 久久不见久久见免费影院www日本| 亚洲乱码中文字幕综合234| 久久久精品国产亚洲成人满18免费网站| 亚洲女同成人AⅤ人片在线观看| 一区免费在线观看| 久久99国产亚洲高清观看首页| 久久久久久国产精品免费免费男同| 国产色爽女小说免费看| 老司机免费午夜精品视频| jlzzjlzz亚洲乱熟在线播放| 男的把j放进女人下面视频免费| vvvv99日韩精品亚洲| 国产一级一毛免费黄片| 亚洲电影在线播放| 拔擦拔擦8x华人免费久久| 激情内射亚洲一区二区三区爱妻| 午夜一区二区免费视频| 一级大黄美女免费播放| 亚洲国语在线视频手机在线| 日韩免费高清一级毛片在线| 男人天堂免费视频| 亚洲日韩精品无码专区| 亚洲中文久久精品无码| AA免费观看的1000部电影|