首页 > 试题广场 >

完成在双向循环链表结点 p 之后插入 s 的操作是()

[单选题]
完成在双向循环链表结点 p 之后插入 s 的操作是()?
  • p->next=s;s->prior=p;p->next->prior=s;s-next=p->next
  • p->next->prior=s;p->next=s;s->prior=p;s->next=p->next
  • s->prior=p;s->next=p->next;p->next=s;p->next->prior=s
  • s->prior=p;s->next=p->next;p->next->prior=s;p->next=s
推荐
D.这种主要关注是否断链。先把待插入的结点的两个链安排好,再去调整原来的结点。如果先安排原来的结点的链,则几乎都会产生断链的情况。所以A,B不可选,不用多看。C项中,调整原来结点时,先调整的是p->next = s,最后还用p->next->prior,此时的p->next已经是s了。
编辑于 2016-12-25 21:57:33 回复(0)
D
A的前两步操作只连接了P和S,而P原来的后继节点的链接丢失,错误。
B中前三步完成了P和S的链接,P原来后继节点和S的链接,但没有链接S和P原来的后继节点,错误。
C中前三步完成的工作与B相同,最后P的后继节点已经变成S,没有办法链接P原来的后继节点,也就没有办法使P原来的后继节点和S相连了,错误
发表于 2016-12-19 17:05:02 回复(0)
先处理要插入结点的前驱和后继 再处理后继结点的前驱 最后才是前驱结点的后继
发表于 2020-09-14 10:07:36 回复(0)
发表于 2023-02-23 18:57:21 回复(0)
/c+头像 /c+
先处理要插入结点的前驱和后继 再处理后继结点的前驱 最后才是前驱结点的后继

发表于 2022-10-23 21:56:05 回复(0)
发表于 2022-06-22 20:59:57 回复(0)
这题就考虑断链了,牛课题就是牛
发表于 2017-11-27 17:49:17 回复(0)
假设一开始存在p-t那么外面两个用来调整p和s的关系,中间两个用来调整s和t的关系
发表于 2017-07-21 20:40:33 回复(0)
D
发表于 2017-03-07 08:54:45 回复(0)
D.
注意改变指针就可以判断。
发表于 2017-03-06 14:14:40 回复(0)
选D。
先将结点S连接到P结点上。
选项A和选B会导致连接过程中指针指向空。
而选项C从第三步往后开始出现指针指向空。
发表于 2017-02-15 21:07:19 回复(0)
D
P->D
先断开PD连接,让S.next=D(D=p.next),S.pre=P,D.pre=S,P.next=S总之P。next最后修改
插入S
P->S->D


发表于 2016-12-19 17:35:49 回复(0)
D

发表于 2016-12-19 11:58:20 回复(0)