亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個算法問題

一個算法問題

LEATH 2018-11-01 05:15:33
也是面試題,如何生成從1~n這n個數的所有的排列。。。我沒想明白,有誰能指點一下?
查看完整描述

2 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

private static void Permutation(List<int> v, int m, int n)
        {
            int i;
            if (m < n - 1)
            {
                Permutation(v, m + 1, n);
                for (i = m + 1; i < n; i++)
                {
                    Swap(v, m, i);
                    Permutation(v, m + 1, n);
                    Swap(v, m, i);
                }
            } 
            else
            {
                foreach (int vs in v)
                {
                    Console.Write(vs);
                }
                Console.Write("\r\n");
            }
        }

        private static void Swap(List<int> v, int m, int i)
        {
            int t;
            t = v[m]; v[m] = v[i]; v[i] = t;
        }

調用方法:

List<int> v = new List<int> { 1, 2, 3};
Permutation(v, 0, 3);


查看完整回答
反對 回復 2018-11-05
  • 2 回答
  • 0 關注
  • 481 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號