校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > UI专业知识 > 色彩
题目

在非空双向循环链表中q所指向的结点前插入一个由p所指的链结点的过程依次为: 

rlink(p)←q;
llink(p)←llink(q);
llink(q)←p;

()

A.rlink(q)←p

B.rlink(llink(q))←p

C.rlink(llink(p))←p

D.rlink(rlink(p))←p


解答

参考答案:C.

双链表的插入两种方法:
将下面的next换成rlink,pre 换成llink即可
一、首先处理新插入节点p的后继、前驱,然后再处理后继的前驱、
                  p->next = q;  //p的后继
                  p->pre = q->pre;//p的前驱
                  q->pre = p; //(q)的前驱
                  p->pre->next = p;///新节点的前驱( p->pre)的后继

二、前两步都一样:
                  p->next = q;  //p的后继
                  p->pre = q->pre;//p的前驱
                  q->pre->next = p;  //这一步要在前面,
                  q->pre = p;

C 4条回复 评论
一只北极的企鹅

看完解析才知道应该是这样的思路

发表于 2023-06-03 22:00:00
0 0
淹没在云际

是道好题,会了这道就能举一反三

发表于 2021-11-15 21:00:00
0 0
岛上书店后

大佬的文章让我受益匪浅,如痴如醉,以后的日子还希望能够得到大佬的谆谆指点

发表于 2021-09-14 10:45:00
0 0
无畏无所畏

太给力了 醍醐灌顶

发表于 2021-09-12 19:45:00
0 0