不确定多层循环嵌套的简洁写法
原创|浏览:2451|更新:2014-06-04 11:43
相信我们都写过2层for循环。一旦超过3层循环,代码就会很难看,并且增加很多变量和代码。
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
for(int k=0;j<10;k++)
...
而有时候我们也不能确定到底需要几层循环嵌套,也就是说这个层数是个变量。这样的代码应该怎么写呢?
这里教你一种递归的简洁写法。
int[] arr = new int[12];
void XunHuan(int j)
{
if (j == arr.Length)
{
Console.WriteLine("一次递归结束,计数保存在arr中");
return;
}
while (arr[j]<3)
{
XunHuan(j + 1);
arr[j]++;
if (j + 1 < arr.Length)
arr[j + 1] = 0;
}
}
调用:
XunHuan(0);
常量3表示每层的循环次数,循环层数12,可以根据情况设定。太大可能会造成栈溢出