【发布时间】:2020-07-02 11:25:29
【问题描述】:
例如,如果 n = 2
// Nested loop for all possible pairs
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
// here i have to use, i, j
}
}
例如,如果 n = 3
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
for (int k = 0; k < n; k++)
// here i have to use, i, j, k
但是如果 n = k,那么如何从 0 到 n 迭代 n 个 for 循环呢?
我尝试了很多,但无法提出解决方案。
有什么办法吗?请帮忙。
【问题讨论】:
-
你可以使用一个计数器数组
cntr[n]和一个结转循环,也就是说,你从元素[0]向上遍历你的列表,只要增加一个元素会产生一个0(即cntr[i] == n-1在递增之前会产生结转到下一个位置)。当您可以在不产生0的情况下增加一个计数器时,您会停止并发出您的计数器元组。我会留给你弄清楚何时停止计数。
标签: algorithm for-loop permutation