JAYLEE900 2022-08-23 22:00 采纳率: 37.5%
浏览 87
已结题

c++的递归+回溯算法代码的逻辑描述

下面的递归+回溯算法代码的逻辑看不明白,麻烦详细说明一下逻辑,要求每行代码目标表达明确,最好同时使用文字描述一遍,感谢

#include <iostream>
#include <vector>
using namespace std;

vector<int> datas = { 1,2,3,4,5 };
vector<vector<int>> records;

void permutation(int position, int length, vector<int>& tmp)
{
    if (length == 0)
    {
        records.push_back(tmp);
        return;
    }
    for (int i = position;i < datas.size();i++)
    {
        tmp.push_back(datas[i]);
        permutation(i + 1, length - 1, tmp);
        tmp.pop_back();
    }
}

int main()
{
    vector<int> tmp;
    for (int i = 1;i < datas.size();i++)
    {
        permutation(0, i, tmp);
    }

    return 0;
}

  • 写回答

7条回答 默认 最新

  • 来灵 2022-08-24 07:10
    关注
    获得2.55元问题酬金

    单步调试
    在算法函数这儿打断点,单步调试,观察每个变量值的变化情况,可以更深刻地理解代码逻辑。

    评论

报告相同问题?

问题事件

  • 系统已结题 8月31日
  • 创建了问题 8月23日

悬赏问题

  • ¥15 c#如何使用scottplot给已画好的自定义热度图,增加一个一定的colorbar
  • ¥15 信贷平台.用户信用评估和风险评估怎么做,希望来个做过的Java.有合作的机会
  • ¥15 IMageEN获得图形顶点坐标的问题
  • ¥50 软件PC客户端抓包,获取http请求和响应
  • ¥15 手机被安装黑客软件怎么办?
  • ¥15 Windows C++ PaddleOcr 中文模型的训练方法
  • ¥15 c# 用scottplot画 以时间为纵坐标,数值为横坐标画曲线图
  • ¥15 手机应用程序安装异常
  • ¥15 grbl的G92修改MPos的问题。
  • ¥15 vue2中,Ant Design Pro s-table中,使用服务端排序怎么做