谁能解释下下面的数据结构的算法啊~尤其是循环的部分linklist *reverlist(linklist *head) //逆置链表子函数{linklist *q,*p;if(head && head->next) { p="head"; q="p-">next;p->next=NULL;while(q){p="q";q="q-">nextp->next=head;hea
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 23:41:07
![谁能解释下下面的数据结构的算法啊~尤其是循环的部分linklist *reverlist(linklist *head) //逆置链表子函数{linklist *q,*p;if(head && head->next) { p=](/uploads/image/z/13689109-37-9.jpg?t=%E8%B0%81%E8%83%BD%E8%A7%A3%E9%87%8A%E4%B8%8B%E4%B8%8B%E9%9D%A2%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%9A%84%E7%AE%97%E6%B3%95%E5%95%8A%7E%E5%B0%A4%E5%85%B6%E6%98%AF%E5%BE%AA%E7%8E%AF%E7%9A%84%E9%83%A8%E5%88%86linklist+%2Areverlist%28linklist+%2Ahead%29+%2F%2F%E9%80%86%E7%BD%AE%E9%93%BE%E8%A1%A8%E5%AD%90%E5%87%BD%E6%95%B0%7Blinklist+%2Aq%2C%2Ap%3Bif%28head+%26%26+head-%3Enext%29+%7B+p%3D%22head%22%3B+q%3D%22p-%22%3Enext%3Bp-%3Enext%3DNULL%3Bwhile%28q%29%7Bp%3D%22q%22%3Bq%3D%22q-%22%3Enextp-%3Enext%3Dhead%3Bhea)
谁能解释下下面的数据结构的算法啊~尤其是循环的部分linklist *reverlist(linklist *head) //逆置链表子函数{linklist *q,*p;if(head && head->next) { p="head"; q="p-">next;p->next=NULL;while(q){p="q";q="q-">nextp->next=head;hea
谁能解释下下面的数据结构的算法啊~尤其是循环的部分
linklist *reverlist(linklist *head) //逆置链表子函数
{
linklist *q,*p;
if(head && head->next)
{
p="head";
q="p-">next;
p->next=NULL;
while(q)
{
p="q";
q="q-">next
p->next=head;
head="p";
}
}
谁能解释下下面的数据结构的算法啊~尤其是循环的部分linklist *reverlist(linklist *head) //逆置链表子函数{linklist *q,*p;if(head && head->next) { p="head"; q="p-">next;p->next=NULL;while(q){p="q";q="q-">nextp->next=head;hea
//给你整理了一下:
linklist *reverlist(linklist *head) //逆置链表子函数
{
linklist *q,*p;
if(head && head->next) //如果链表不为空
{
p = head; //保存头指针到p
q = p->next; //保存第一节点到q
p->next = NULL; //空置头节点
while(q) //循环一个节点一个节点反转.当存在后续节点时
{
p = q; //保存当前节点
q = q->next; //取得下一节点,可能为NULL(到最后一个的时候)
p->next = head; //把上一个节点放到next中---倒置
head = p; //重新定位指针, head仍然是倒置后的链表头
}
}
return head;
}