函数的嵌套调用
可以再清晰一点看
如何写递归函数
第一步: 找到基本项(即终止条件)
递归的结束位置。
如果没有结束条件,则会出现运行栈满的情况。溢出
第二步: 归纳项(改变规模,类似
套娃)
以下涉及几个递归案例
1.尾插法建链、递归
2.求表长
3.链表输出
4.链表逆置
#include <iostream>
using namespace std;
struct Node
{
int data;
Node* link;
};
//尾插法建链、递归
Node* create(int n)
{
if (n == 0) return 0;
n--;
Node* t = new Node;
cin >> t->data;
t->link = create(n);
return t;
}
//求表长
//方法一: 用全局变量
int countnum;
void length1(Node * head)
{
if (head == NULL)
return ;
countnum++;
length1(head->link);
}
//方法二: 函数引用
void length2