设有一个表头为first的单链表,式设计一个算法,通过遍历一趟链表,将链表中所有节点按逆序链接
发布网友
发布时间:2022-07-22 03:42
我来回答
共1个回答
热心网友
时间:2023-11-04 16:17
算法思想
一次遍历链表,并将结点指针反转,在逆置的时候要注意单链表两端的处理(即表头结点和表尾结点)
LinkList ReverseLinkList( LinkList L)
{
Lnode *p, *pre, *s;
p = L -> next;
s = p -> next;
p -> next = NULL;//处理第一个结点,指针指向NULL,因为逆置后它将是尾结点
while( s != NULL) //当s为空的时候说明p已经指向链表的最后节点了
{
pre = p;
p = s;
s = s ->next;
p -> next = pre; //指针反转
}
L ->next = p; //处理最后一个结点,头结点的指针指向它
return L;
}来自:求助得到的回答