早教吧作业答案频道 -->其他-->
数据结构问题,不懂啊,兄弟已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,则删除P结点的直接前驱结点的语句序列是:Q=P;P=L;while(p->next->next!=Q)p=p->next;p->next=p->next->
题目详情
数据结构问题,不懂啊,兄弟
已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,
则删除P结点的直接前驱结点的语句序列是:
Q=P;
P=L;
while(p->next->next!=Q) p=p->next;
p->next=p->next->next;
free(Q);
一点不懂,分别说一下Q=P P=L……的作用,数据新手,一定采纳的,
已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,
则删除P结点的直接前驱结点的语句序列是:
Q=P;
P=L;
while(p->next->next!=Q) p=p->next;
p->next=p->next->next;
free(Q);
一点不懂,分别说一下Q=P P=L……的作用,数据新手,一定采纳的,
▼优质解答
答案和解析
Q=P 就是让Q指向节点P,也就是要删除的节点.
P=L 就是让P指向链表的第一个节点.
后面的循环的作用是找到要删除的节点的前一个节点,然后让要删除的节点(现在是Q指向它)的前一个节点的指针直接指向要删节点的后一个节点(p->next=p->next->next;),相当于从链表里面移除Q.
最后删除Q(free(Q);)
P=L 就是让P指向链表的第一个节点.
后面的循环的作用是找到要删除的节点的前一个节点,然后让要删除的节点(现在是Q指向它)的前一个节点的指针直接指向要删节点的后一个节点(p->next=p->next->next;),相当于从链表里面移除Q.
最后删除Q(free(Q);)
看了 数据结构问题,不懂啊,兄弟已...的网友还看了以下:
高分求PACKARDBELL笔记本驱动求PACKARDBELL笔记本XP系统下所有驱动!大哥们哎!是 2020-03-30 …
句子结构和时态的问题1,He told me (that he would) go to the 2020-05-14 …
what is the next 还是what is next两者有什么区别 2020-05-16 …
She told me that she would go on trip to Europe t 2020-05-16 …
1.Would you please tell me _________?Would you pl 2020-05-16 …
He didn"t know what to do the next day改成宾语从句的复合句怎 2020-05-17 …
在非空双向循环链表结点中,prior域指向该结点的直接前驱,next域指向直接后续,那么在q所指的结 2020-05-26 …
c++为什么不是A,有甚区别12.链表结点的结构类型为structlinkRec{intdata; 2020-06-22 …
固有频率和驱动力的频率受迫振动的频率等于驱动力的频率,当系统的固有频率等于驱动力的频率时,系统达到 2020-07-04 …
数据结构问题,不懂啊,兄弟已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点, 2020-07-14 …