单链表逆序显示

#单链表逆序显示
单链表的逆序显示利用了递归函数

#include<stdio.h>
#include<stdlib.h>
typedef int datatype;
typedef struct node{
 datatype data;
 struct node * next;
}linknode, *linknode_p;

linknode * create(void){
 linknode * L = NULL;
 L = (linknode *)malloc(sizeof(linknode));
 if(NULL == L){
  printf("create error!\n");
  return NULL;
 }
 L->data = 0;
 L->next = NULL;
 return L;
}

int insert(linknode * L, datatype data){
 if(L == NULL){
  printf("L is NULL!\n");
  return -1;
 }
 linknode * p = NULL;
 p = (linknode *)malloc(sizeof(linknode));
 if(p == NULL){
  printf("insert error!\n");
  return -1;
 }
 p->data = data;
 p->next = L->next;
 L ->next = p;
 return 0;
}

void show(linknode * L){
 if(L == NULL){
  printf("show error!\n");
  return;
 }
 linknode * p = L->next;
 while(p != NULL){
  printf("%d\n", p->data);
  p = p->next;
 }
}
void reverse(linknode * p){
 if( p != NULL ){
  reverse(p->next);
  printf("%d\n", p->data);
 }
}

int main(int argc, const char *argv[])
{
 linknode * L = NULL;
 L = create();
 
 int i = 0;
 for(i=0; i<10; i++){
  insert(L, i);
 }
 
 printf("show:\n");
 show(L);
 printf("rese:\n");
 reverse(L->next);
 return 0;
}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值