草庐IT

递归图

全部标签

c++ - 如何在 C++ 中找到递归函数的深度

如何在不传递上一级的情况下在C++中找到递归函数内的当前深度?即是否可以知道函数被调用了多少次而不使用参数来跟踪级别并在每次调用函数时将该数字作为参数传递?例如我的递归函数是这样的:DoSomething(intlevel){printlevel;if(level>10)return;DoSomething(++level);}main{DoSomething(0);} 最佳答案 基于JoshD已经给出的答案:voidrecursive(){staticintcalls=0;staticintmax_calls=0;calls++;

windows - 如何通过 Windows 批处理操作递归替换名称

我想在一个大目录中处理一个批处理操作。实际上我有那个过程的批处理脚本。但是在这里,我有一个问题。部分目录名、文件名包含“”(空格符)。所以在批处理操作中,这个名称作为2个参数传递。这些线路将不起作用。所以我想把“”重命名为“_”来克服这个问题。例子:进程/MyDirectory/OlaandMe/Private/TopSecretPictures/这给出了错误。下面一个工作正常处理/MyDirectory/OlaandMe/Private/TopSecretPictures我的目标是:转换|Ola和我|>>|Ola_And_Me递归地:)提前致谢.. 最佳答

windows - 如何使用 JpegTran 在使用 Windows 的目录中递归处理所有图像并覆盖它们?

现在我有以下用于处理图像的批处理文件:@echononecd%1md"%~1\ProcessedJPEGS"for%%iin(*.jpg)do"C:\ProgramFiles\ImageOptimization\jpegtran.exe"-optimize-progressive-copynone"%%i""%~1\ProcessedJPEGS\%%i"move/Y"%~1\ProcessedJPEGS\*.*""%~1"rd"%~1\ProcessedJPEGS"pause如您所见,这并不理想,但我的技能充其量只是可笑的,所以我在这里需要一些帮助:)我想要完成的是在一个目录中运行这个

windows - 递归搜索 HKU 注册表配置单元以获取 DWORD 值

我需要有关VBScript的帮助,它将递归地搜索WindowsHKU注册表配置单元以获取DWORD值。如果脚本可以忽略只查看S-1-5-21*键的系统帐户,将会很有帮助。我必须使用HKU配置单元而不是HKCU配置单元来完成此操作,因为我计划用来运行脚本的程序在系统上下文中运行。没办法。谢谢。ConstHKCU=&H80000001ConstHKLM=&H80000002ConstHKU=&H80000003strComputer="."SetoReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&_strCompute

c# - 递归安全设置

我想将文件夹的安全设置应用于C#中的所有后代。本质上,我想在“[文件夹]的高级安全设置”中执行与“使用此对象的可继承权限替换所有后代的所有现有可继承权限”相同的操作。有什么优雅的方法可以解决这个问题吗? 最佳答案 在谷歌和MSDN上度过了一段美好的时光后,我想出了以下代码。似乎工作正常。staticvoidMain(string[]args){DirectoryInfodInfo=newDirectoryInfo(@"C:\Test\Folder");DirectorySecuritydSecurity=dInfo.GetAcces

windows - 递归路径

我尝试在Google上搜索此内容,但并没有真正学到任何东西,因为搜索结果通常与其他递归主题有关。我想知道的是,如果文件夹在Path中,它是否以递归方式定义(在Windows上)?我想创建一个C:\StandalonePrograms并将其添加到路径中。它将包含一堆编程语言和其他通常来自zip文件的程序。我想知道如果将程序目录添加到其中我可以调用所有程序。例如,如果我有C:\StandalonePrograms\SomeProgram,我可以打开一个命令提示符类型someCommand并期望它从C:\StandalonePrograms\SomeProgram\bin文件夹?或者我是否需

归并排序 merge Sort + 图解 + 递归 / 非递归

归并排序(mergesort)的主要思想是:将若干个有序序列逐步归并,最终归并为一个有序序列二路归并排序(2-waymergesort)是归并排序中最简单的排序方法(1)二路归并排序的递归实现//二路归并排序的递归实现voidmerge(vector&arr,intleft,intmid,intright){ intn=right-left+1; vectorhelp(n,0); inti=0,a=left,b=mid+1; while(a&arr,intleft,intright){ if(left==right)return;//只有1个记录,递归结束 intmid=(left+right

python os.makedirs(),实例详解什么是递归创建目录

os.makedirs()方法python标准库os方法makedirs(),可用于递归创建目录。默认情况下,如果所要创建的目录已经存在,那么python将抛出OSError。其中的“递归”的意思是,如果makedirs()参数指定所要创建的目标目录中的某一个节点路径不存在,则makedirs()会自动创建该节点路径,这是makedirs()与mkdir()方法不同的地方之一。具体的可以看下方的实例代码。os.makedirs()语法及参数结构os.makedirs(path,mode=0o777,exist_ok=False)参数解析表:参数描述path指定os.makedirs()方法所要

二叉树遍历的非递归算法

非递归的算法主要采用的是循环出栈入栈来实现对二叉树的遍历,下面是过程分析以下列二叉树为例:(图片来自懒猫老师《数据结构》课程相关内容)1.前序遍历前序遍历的顺序为:根结点->左子树->右子树基本过程:(1)访问根结点,将根结点入栈(2)循环逐个访问左子树,执行(1)中步骤;当访问到没有左子树的结点时,跳出循环(3)栈不为空,根结点出栈,访问右子树这里以A的左子树为例进行栈的变化过程说明:可以总结成,没有左子树->出栈+右子树入栈;没有右子树->出栈代码实现:voidPreOrder(BiNode*bt){//树的前序遍历 SqStacks; s=InitStack(); BiNode*p=bt

c - 如何在 Windows 上递归遍历 C 中的目录

最终,我想遍历文件夹的文件和子目录,并向我发现具有特定扩展名(在我的例子中为.wav)的所有文件写入一些内容。循环时如何判断我所在的项目是否是目录? 最佳答案 这里是你如何做的(这都是凭内存所以可能会有错误):voidFindFilesRecursively(LPCTSTRlpFolder,LPCTSTRlpFilePattern){TCHARszFullPattern[MAX_PATH];WIN32_FIND_DATAFindFileData;HANDLEhFindFile;//firstwearegoingtoprocessan