我正在处理一个处理递归的问题 . 我应该将两个int传递给一个函数,它代表了一些N个对象和M值,我必须找到它们的所有排列 . 我还给出了一个输出应该是什么样子的样本
void perm_rec_1(int N, int nr_values)
这应该打印的输出是:
Called : perm_rec_1(3, 2);
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
通过使用交换函数来改变字符串的顺序来查找字符串的所有排列,我理解了递归的概念,但是我不确定如何在这里应用它,或者它是否可以 . 通过将元素增加1到nr_vals-1来更改数组的结尾,看起来数组更改 . 任何帮助将不胜感激,谢谢你的时间 .
2 回答
既然你没有在这里提到任何语言的C版本:
输出:
因此,出于好奇,循环(迭代)版本会是什么样子?我假设它是基于N和nr_vals的嵌套循环?