关于全排列的代码,请教如何用递归写。

寂小魔 2013-03-18 06:03:49


关于全排列的代码,请教如何用递归写。
排列长度,要可控制哦。


string[] charString = { "L", "O", "V", "E" };
List<string> Total = new List<string>();
public void test()
{
foreach (string wdone in charString)
{
foreach (string wdtwo in charString)
{
foreach (string wdthree in charString)
{
foreach (string wdfour in charString)
{
foreach (string wdfive in charString)
{
Total.Add(wdone + wdtwo + wdthree + wdfour + wdfive);
}
}
}
}
}
}
...全文
111 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
seominho 2013-03-19
  • 打赏
  • 举报
回复

        public void test(string str)
        {
            foreach (string wd in charString)
            {
                string newStr = str + wd;
                if (newStr.Length > 4)//结束条件
                {
                    Total.Add(newStr);
                }
                else
                {
                    test(newStr);
                }
            }
        }
devmiao 2013-03-19
  • 打赏
  • 举报
回复
引用 6 楼 devmiao 的回复:
http://bbs.csdn.net/topics/390212512
事实上那个递归是尾递归。和循环是等价的。
devmiao 2013-03-19
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390212512
寂小魔 2013-03-19
  • 打赏
  • 举报
回复
引用 3 楼 seominho 的回复:
C# code?12345678910111213141516public void test(string str,int len) { foreach (string wd in charString) { str+=str+wd; len++; ……
经鉴定 达不到效果、
寂小魔 2013-03-19
  • 打赏
  • 举报
回复
引用 2 楼 gxingmin 的回复:
排列组合吗? 给你个网址,参考一下 http://bbs.csdn.net/topics/380259947
谢谢,想看看递归是否能实现。
seominho 2013-03-18
  • 打赏
  • 举报
回复

public void test(string str,int len)
        {
            foreach (string wd in charString)
            {
                str+=str+wd;
                len++;
                if(len>5)//结束条件
                {
                    Total.Add(str);
                }
                else
                {
                    test(str,len);
                }
            }
         }
gxingmin 2013-03-18
  • 打赏
  • 举报
回复
排列组合吗? 给你个网址,参考一下 http://bbs.csdn.net/topics/380259947
寂小魔 2013-03-18
  • 打赏
  • 举报
回复
排列长度 要可控制哦。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧