标签:
法一:
list_node *list_reverse(list_node *head)
法二
void reverse(struct node *head)
{
struct node *p,*s,*t;
p = head;
s = p->next;
while(s->next != NULL)
{ //主要置换过程
t = s->next; // t为临时变量
s->next = p; // 实施反转
p = s; // p向前移动一个结点,为转换下一个结点做准备
s = t; // 恢复s指针,以便处理下一个结点
} // 此时s->next == NULL,循环结束
s->next = p; // 翻转最后一个结点
head->next->next = NULL; // head的next指向的结点是原链表的第一个数据结点
head->next = s; // 现在s是新的第一个数据结点
}
标签:
原文地址:http://www.cnblogs.com/it-xiaojun/p/4609244.html