如何穷举(任意个数组)的成员的组合?
问题中我在问题中加了括号,应该便于理解。假定数组string[]SuNum=newstring[]{"0","1","2","3","4","5","6","7","8"...
问题中我在问题中加了括号,应该便于理解。
假定数组string[] SuNum = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
要求实现输出n个SuNum数组中各项的连接comb。
如n=3时
comb = SuNum[0]+SuNum[0]+SuNum[0]
comb = SuNum[0]+SuNum[0]+SuNum[1]
comb = SuNum[0]+SuNum[0]+SuNum[2]
....
comb = SuNum[9]+SuNum[9]+SuNum[9]
关键是实现方法。因为n不确定,貌似循环嵌套不容易实现。
在此先谢过各位了。
数组SuNum只是举例,实际数组中可能包含字母等其他元素。
类似字典生成器的工作原理。 展开
假定数组string[] SuNum = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
要求实现输出n个SuNum数组中各项的连接comb。
如n=3时
comb = SuNum[0]+SuNum[0]+SuNum[0]
comb = SuNum[0]+SuNum[0]+SuNum[1]
comb = SuNum[0]+SuNum[0]+SuNum[2]
....
comb = SuNum[9]+SuNum[9]+SuNum[9]
关键是实现方法。因为n不确定,貌似循环嵌套不容易实现。
在此先谢过各位了。
数组SuNum只是举例,实际数组中可能包含字母等其他元素。
类似字典生成器的工作原理。 展开
3个回答
展开全部
后
int a1,a2,a3....ai i=你要用几个数
int b[i]
for(a1=0;a1<n-i;a1++)
{
b[0]=a[a1];
for(a2=a1+1;a2<n-i+1;a2++)
{
b[1]=a[a2];
……………………
写到 ai
然后输出数组b
} 第一个for循环结束
int a1,a2,a3....ai i=你要用几个数
int b[i]
for(a1=0;a1<n-i;a1++)
{
b[0]=a[a1];
for(a2=a1+1;a2<n-i+1;a2++)
{
b[1]=a[a2];
……………………
写到 ai
然后输出数组b
} 第一个for循环结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
递归吧
只需限制深度(就是数组个数)
用函数很容易实现
只需限制深度(就是数组个数)
用函数很容易实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
递归..
这个方法很好.
补充:建议用递归,别考虑什么穷举..............
这个方法很好.
补充:建议用递归,别考虑什么穷举..............
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询