c语言实现链表翻转代码

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语言实现链表翻转代码)