单链表置逆

把看算法时,写的测试程序记录下来,方便以后查阅,也方便大家参考。

  1 #include <stdio.h>
     #include <stdlib.h>
  2
  3 typedef struct linklist{
  4     int data;
  5     struct linklist *next;
  6 }linklist;
  7
  8 linklist* reverse_ll(linklist *p)
  9 {
 10     linklist *q = 0, *r = 0;
 11
 12     if (0 == p)
 13         return 0;
 14
 15     while(0 != p)
 16     {
 17         q = p->next;
 18         p->next = r;
 19         r = p;
 20         p = q;
 21     }
 22     return r;
 23 }
 24
 25 void show_ll(linklist *p)
 26 {
 27     if (0 == p)
 28         return;
 29
 30     while(0 != p)
 31     {
 32         printf("%d/t", p->data);
 33         p = p->next;
 34     }
 35     printf("/n");
 36 }
 37
 38 int main()
 39 {
 40     linklist pHead;
 41     linklist *q = 0;
 42     int i;
 43     for(i = 0; i < 10; i++)
 44     {
 45         linklist *p = malloc(sizeof(linklist));
 46         p->data = i;
 47         p->next = 0;
 48
 49         if (0 == q)
 50             pHead.next = p;
 51         else
 52             q->next = p;
 53
 54         q = p;
 55     }
 56
 57     show_ll(pHead.next);
 58
 59     linklist *t = reverse_ll(pHead.next);
 60     show_ll(t);
 61     return 0;
 62 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值