单向链表的反序

#include <stdio.h>
#include <stdlib.h>

typedef struct node
{
  int           id;
  struct node   *next;
} node;

node *reverse(node *head)
{
  node  *reverse_head;
  node  *n;
  node  *p = NULL;
  node  *c = head;

  while (c != NULL)
  {
    n = c->next;
    if (n == NULL)
      reverse_head = c;

    c->next = p;
    p = c;
    c = n;
  }

  return reverse_head;
}

  

posted @ 2013-09-24 13:06  玩的就是 心跳  阅读(284)  评论(0编辑  收藏  举报