【发布时间】:2012-11-29 20:06:31
【问题描述】:
我有这个字符数组:private char[] posibilities = { 'a', 'b', 'c' };
我想要它们所有可能的组合,然后我做了三个嵌套:
for (int cont = 0; cont < posibilities.Length; cont++)
{
for (int i = 0; i < posibilities.Length; i++)
{
for (int j = 0; j < posibilities.Length; j++)
{
listBox1.Items.Add(posibilities[cont].ToString() + posibilities[i].ToString() + posibilities[j].ToString());
}
}
}
我的问题是:如果我想在我的数组中添加更多字符而不向我的嵌套 for 添加更多 fors,我该怎么做?想象一下,如果我在数组上有 20 个字符,我不能为 20 个字符......或者这是唯一的方法?
(顺便说一句,我从 3 个月前就一直在尝试解决这个问题,但仍然无法解决)
【问题讨论】:
-
结果必须是这样的:aaa aab aac aba abb ... ccb ccc
-
您可能需要考虑为此使用递归
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
仅供参考,您要求的是所有重复排列,“组合”与“排列”不同
-
感谢服务!我不知道
标签: c# loops permutation combinations nested