1.将P确定为头结点的下一位(存放数据的第一个节点)
2.将头结点的下一位置空
3.进入循环,p不为空时执行。将q指向P的下一位
4.将头结点的下一位赋给p的下一位
5.p赋给头结点的下一位
6.q赋值给p
(循环体中的代码类似交换,只是多一组)
void Inverse_Node(linklist HeadNode) //链表翻转
{
linklist p, q;
p = HeadNode->next;
HeadNode->next = NULL;
while(p != NULL)
{
q = p->next;
p->next = HeadNode->next;
HeadNode->next = p;
p = q;
}
}
c语言实现链表翻转代码
最新推荐文章于 2023-12-03 18:23:51 发布