/*
题目:设L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点值。
出自:王道p38.3
*/
//思路:反向输出单链表,方法很多。
1.代码最简单的就是递归,后面还有结点就递归调用,没有了就输出。
2.不习惯写递归的也可以先将链表逆置在正向输出。
3.借助栈也可轻松实现。
都很简单,下面实现递归方法。
//宏定义
#define ElemType int
//单链表定义
typedef struct LNode{
ElemType val;
struct LNode*next;
}*LinkList,LNode;
[注] 上述宏定义和结构体定义是答题时要写的答案,并不是代码实现时的定义,代码实现稍有不同,感兴趣可去“help.h”中查看。
//实现函数
void WD38_3(LinkList_n L){
if(!L) return; //L为空,直接返回。(这里其实并不是递归出口)
if(L->next)WD3