实际上递归实现单链表逆输出不一定优于辅助堆栈或辅助数组,只是可读性更强
代码:
typedef struct node{
int data;
struct node * next;
} Node;
void print(Node * p){
assert(p != NULL);
if(p->next != NULL) //递归,先输出后继结点
print(p->next);
printf("%d ", p->data); //再输出当前结点
}
实际上递归实现单链表逆输出不一定优于辅助堆栈或辅助数组,只是可读性更强
代码:
typedef struct node{
int data;
struct node * next;
} Node;
void print(Node * p){
assert(p != NULL);
if(p->next != NULL) //递归,先输出后继结点
print(p->next);
printf("%d ", p->data); //再输出当前结点
}