本章我们将使用递归方式反向打印一个链表;注意并不是反转链表,而是反向打印。
之前我们说明过递归的写法
1.列出两数关系公式
2.找出退出条件
要遍历必然有x=x->link; 退出条件是当link=NULL ,相信对你聪明的你来说这很容易理解。
递归代码
void Print(Node*x)
{
if (x==NULL)
{
return;
}
Print(x->link);
printf(" %d ", x->data);
}
他的函数执行流程大致是这样
由于先执行了递归,在满足返回条件时,递归将不再继续,再执行完Print(50)之后,再执行打印链表的操作,这样链表就被反转打印了。