/*
思路:先将头节点看作是个空表,即将plist->next置为NULL
然后将其后面的所有节点都以头插的方式插进来
*/
void Reverse(List plist)
{
if (plist == NULL || plist->next == NULL || plist->next->next == NULL)
{
return;
}
Node *p = plist->next;//初始化p指向第一个节点
plist->next = NULL;//将头节点看作是个空表
while (p != NULL)//直到要插入的这个节点为NULL
{
Node *q = p->next;//先将即将插入的这个节点的下一节点地址保存起来,防止丢失
//将节点p插入到表plist
p->next = plist->next;
plist->next = p;
p = q;//然后再将p置为下一节点
}
}
链表逆置
最新推荐文章于 2024-07-31 21:07:21 发布