Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21397
  • 博文数量: 11
  • 博客积分: 105
  • 博客等级: 民兵
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-09 10:58
个人简介

码农,网络安全方向,曾就职于华为和Juniper。目前专注于防DDOS的研发,涉及驱动、内核、网络协议、安全业务。家伙式C语言,被逼无奈也会看一些C++甚至Java代码,学艺不精,聊以糊口。

文章分类

全部博文(11)

文章存档

2013年(4)

2012年(7)

我的朋友

分类: C/C++

2012-11-22 16:54:35

被别人考过,也考过别人。今天动手写了,贴上来。


点击(此处)折叠或打开

  1. #include <stdio.h>

  2. typedef struct _node {
  3.     char value;
  4.     _node * next;
  5. }node;

  6. node* rev_list(node* head){
  7.     node * prev;
  8.     node * post;
  9.     prev = NULL;

  10.     while(head) {        
  11.         post = head->next;
  12.         head->next = prev;
  13.         prev = head;
  14.         head = post;
  15.     }
  16. return prev;
  17. }

  18. void print_list(node * head){

  19.     while(head){
  20.         printf("%c-->",head->value);
  21.         head = head->next;
  22.     }
  23.     return;
  24. }

  25. void main () {
  26.     node a;
  27.     node b;
  28.     node c;
  29.     node d;
  30.     node e;
  31.     char tmp;
  32.     a.value = 'a';
  33.     a.next = &b;
  34.     b.value = 'b';
  35.     b.next = &c;
  36.     c.value = 'c';
  37.     c.next = &d;
  38.     d.value = 'd';
  39.     d.next = &e;
  40.     e.value = 'e';
  41.     e.next = 0;

  42.     printf("Before revers:");
  43.     print_list(&a);
  44.     printf("\nAfter revers :");

  45.     print_list(rev_list(&a));
  46.     scanf("%c",&tmp);

  47. }


阅读(232) | 评论(0) | 转发(0) |
0

上一篇:xtime

下一篇:数组反转

给主人留下些什么吧!~~