草庐IT

递归图

全部标签

c++ - 使用 Lambda 和递归函数调用了解 QTimer

我有以下代码:voidclass::Testfunc(){QTimer*timer=newQTimer;QObject::connect(timer,&QTimer::timeout,[this](){emitLog("Timeout...");TestFunc(serverAddress,requestsFolderPath);//deleteLater();//***whydoesthiscrashifusedtoreplacetheconnectbelow?});connect(timer,&QTimer::timeout,timer,&QTimer::deleteLater);

c++ - 如何在深度优先搜索的递归实现中返回 bool 值?

我想写一个函数来检查两个二叉树是否相同。代码如下:boolcheckSame(Node*first,Node*second){//Checkifnodesarethesame//Checkleftnodes:checkSame(first->left,second->left)//Checkrightnodes:checkSame(first->right,second->right)}问题是我不确定在这里返回什么。我发现的所有DFS实现都有一个void返回值。有没有返回bool值的地方?此外,我正在寻找递归解决方案,而不是迭代解决方案。 最佳答案

c++ - 有没有办法让这个 C++14 递归模板在 C++17 中更短?

此poly_eval函数将计算在特定x值处使用一组特定系数计算多项式的结果。例如,poly_eval(5,1,-2,-1)计算x^2-2x-1且x=5。这都是constexpr所以如果你给它常量,它将在编译时计算答案。它目前使用递归模板在编译时构建多项式评估表达式,并依赖于C++14constexpr。我想知道是否有人能想出一种删除递归模板的好方法,也许使用C++17。练习模板的代码使用来自clang和gcc的__uint128_t类型。#include#includetemplateconstexprautopoly_eval_accum(constX_t&x,constCoeff_

c++ - 元整数平方根中的无限递归

你好,我的一位friend询问如何将整数平方根函数转换为元函数。这是原始函数:unsignedisqrt(unsignedvalue){unsignedsq=1,dlt=3;while(sq>1)-1;}我用constexpr写了一个meta版本,但是他说因为某些原因他不能使用这个新特性:constexprstd::size_tisqrt_impl(std::size_tsq,std::size_tdlt,std::size_tvalue){returnsq>1)-1;}constexprstd::size_tisqrt(std::size_tvalue){returnisqrt_im

c++ - 如何递归复制文件和目录

使用C++,是否可以递归地将文件和目录从一个路径复制到另一个路径无需使用任何额外的库?并具有独立于平台的功能?考虑以下文件系统src/fileInRootsrc/sub_directory/src/sub_directory/fileInSubdir我要复制所有文件和目录或某些文件和目录从src到另一个目录target。我创建了一个新问题,因为我发现的问题是特定于平台的,不包括过滤:C++Copydirectoryrecursiveunderunix(unix)Copydirectorycontent(Linux)C/C++Copyfilewithautomaticrecursivef

c++ - 递归显式模板实例化是否可能?

给定一个模板templateclassPoint{...};这个模板可以显式实例化templateclassPoint;templateclassPoint;templateclassPoint;templateclassPoint;我不想像上面那样单独实例化每个模板,我想通过一次调用递归地实例化它们templateclassRecursiveInstantiate;哪里RecursiveInstantiate将实例化T,T,...,T.是否有可能创建这样一个类RecursiveInstantiate?如果不可能,您是否知道使用预处理器执行此操作的方法?事实上,我有兴趣将其推广到具有多

c++ - 如何使用 vector 通过指针引用递归结构

我有一些结构,我们称它们为sn,它看起来像:structsn{stringname;vectorconnected_to;};现在,假设我已经从0-9声明了connected_tovector;我正在将snA连接到snB:A.connected_to[0]=&B;我有一种感觉,我正在以错误的方式处理这件事。基本上我想做的是在连接结构时避免复制结构......即:structsn{stringname;vectorconnected_to;};//...A.connected_to[0]=B;这会复制任何东西吗?更根本的问题当然是我不明白vector、指针和引用是如何真正深入地工作的。

java - 在递归中使用 += 在 Java 和 C++ 中产生不同的结果

下面的非常简单的Java代码有奇怪的输出,但是C和C++中相同逻辑的代码有正确的输出。我尝试使用JDK1.7和JDK1.3(相对JRE),奇怪的输出总是存在。publicclassTest{publicstaticintsum=0;publicstaticintfun(intn){if(n==1)return1;elsesum+=fun(n-1);//thisstatementleadstoweirdoutput//{//thefollowingblockhasrightoutput//inttmp=fun(n-1);//sum+=tmp;//}returnsum;}publicsta

c++ - 什么定义了递归函数?

除了提出的简单问题here并基于this评论问题是解决方案在什么时候不再被认为是递归的,即使实现的基本算法是递归的?为了完整起见,所有情况都使用以下函数:intcounter=0;intreps=0;voidshow(intx){#ifdefOUTPUTprintf("==============>>>%d>27];}案例1:清除递归voiduniq_digitsR(intplaces,intprefix,intused){if(places==1){show(prefix*10+bit_val(~used));return;}intbase=prefix*10;unsignedint

在PostgreSQL中进行递归查询的三种方案

递归查询在数据库中是解决层级和递归结构数据的常见需求。PostgreSQL提供了多种方法来执行递归查询。本文将介绍三种常用的递归查询方案,并提供相应的示例,帮助您理解和应用这些技术。使用WITHRECURSIVE进行递归查询:WITHRECURSIVE是PostgreSQL中最常用的进行递归查询的方法。它允许您在查询中定义一个递归的公共表达式,并在每次迭代中引用自身。以下是一个使用WITHRECURSIVE进行递归查询的示例,用于获取组织结构树:WITHRECURSIVEorg_treeAS(SELECTid,name,parent_idFROMorganizationWHEREparent_