c++ - C/C++ 中的递归函数

标签 c++ c recursion

如果我们考虑 C/C++ 中的递归函数,它们是否有用?它们主要用在什么地方? 使用递归函数在内存方面有什么优势吗?

编辑:递归更好还是使用 while 循环更好?

最佳答案

递归函数主要用于简化算法设计。例如你需要递归地遍历一个目录树——它的深度是有限的,所以你很可能永远不会遇到像太深的递归和随之而来的堆栈溢出这样的事情,但是递归地写一个树遍历要容易得多,然后做同样的事情以迭代的方式。

在大多数情况下,与迭代解决方案相比,递归函数不会节省内存。更糟糕的是,它们会消耗相对稀缺的堆栈内存。

关于c++ - C/C++ 中的递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271980/

相关文章:

c++ - 如何创建模板化类对象数组?

c - 我陷入链表的无限循环

c++ - 是否可以运行声明的函数而不必包含它们

c++ - 防止外部程序写入文件,外部程序不出现错误

c - 值类型转换时地址值不同

带有奇怪请求的 Java 递归

c++ - 使用递归的 BST 中序遍历

c++ - 使用 RapidXML/C++ 类指针副作用进行解析时的递归问题

c++ - 如何获得除法中带有十进制数的结果? C++, 树莓派

c++ - 为什么 C <stdio.h> FILE* fread() 比 Win32 ReadFile() 快?