如何将置换函数中的for循环转换为递归函数

时间:2017-07-13 10:45:45

标签: c++ recursion permutation

我的问题是如何将发布代码中的for循环转换为递归函数。我已经看了一些循环的转换,并且很难在递归函数中转换循环。

我正在学习c ++,我知道有一种方法可以将for循环转换为递归函数。在线文章中有一个涉及for循环的置换函数。我想让函数完全递归,但我不知道如何开始。

void RecPermute(string soFar, string rest)
{
 if (rest.empty()) {
     cout << soFar << endl;
 } else {
     for (int i = 0; i < rest.length(); i++) {
         string remaining = rest.substr(0, i) + rest.substr(i+1);
         RecPermute(soFar + rest[i], remaining);
     }
 }

这是文章的链接:https://see.stanford.edu/materials/icspacs106b/H19-RecBacktrackExamples.pdf

0 个答案:

没有答案