#include <stdlib.h>
void ReverseList(LinkList L)
{
// 使p指向链表的头节点,若为空链表,p=NULL;
p=L->next;
// 将链表的下一个节点置为空,在空链表时,重复赋值,无错,在非空链表时,看如下步骤,在新的步骤中,可将第一个节点的后一节点设为空指针
// 实现了对头节点的后继节点的设置
L->next=NULL;
while(p!=NULL)
{
// 若p非空,q为原链表中p的下一结点,要在新链表中作为前置结点,用q来保存p的下一节点。
q=p->next;
// 将p节点作为L的下一节点,即将p节点插到表头。
p->next=L->next;
// L让头指针指向新节点,即简易实现,将p的下一节点,作为p的前一节点,
L->next=p;
// 让p指向新的节点,对新节点继续前置操作
p=q;
}
}
int main()
{
printf("Hello");
return 0;
}
链表之Reverselist
最新推荐文章于 2022-07-08 11:35:47 发布