题目内容 (请给出正确答案)
已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。
[主观题]

已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。

提问人:网友hhz2020 发布时间:2022-01-07
参考答案
查看官方参考答案
如搜索结果不匹配,请 联系老师 获取答案
更多“已知p指向双向循环链表中的一个结点,其结点结构为data、p…”相关的问题
第1题
一线性表存储在带头结点的双向循环链表中,L为头指针。 (1)说明该算法的功能; (2)在空缺处填写相应的语句。 void Lmknown(LinkList L){ //… p=L->next; q=p->next; r=q->next; while(q!=L){ while((p!=L)&&(p->data>q->data)) p=p->prior q->prior->next=r; A q->next=p0>next; q0>prior=p; B C q=r; p=q->prior; D } }
点击查看答案
第2题
已知有一个单向循环链表, 其每个结点中含三个域:pre, data和next, 其中data为数据域, next为指向后继结点的指针域, pre也为指针域,但它的值为空,试编写算法将此单向循环链表改为双向循环链表, 即使pre成为指向前驱结点的指针域。

点击查看答案
第3题
在一个非空的双链表中,若p所指的结点有前驱和后继,则执行p->next->prior=p=p->prior->next。
点击查看答案
第4题
已知一个带有表头结点的双向循环链表L,结点结构为prev,data,next。其中,prev和next分别指向其直接前驱和直接后继结点的指针。现要删除指针p所指的结点,正确的语句序列是( ) 。

A、p->next->prev=p->prev;p->prev->next=p->next;free(p);

B、p->next->prev=p->next;p->prev->next=p->next;free(p);

C、p->next->prev=p->next;p->prev->next=p->prev;free(p);

D、p->next->prev=p->prev;p->prev->next=p->prev;free(p);

点击查看答案
第5题
非空单链表结点结构为【data,next】,指针p所指结点是尾结点的条件是 。
点击查看答案
第6题
设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。
点击查看答案
第7题
设存在一个带头结点的单循环链表L,每个结点包含三个域,它们分别是prior、data和next。其中data为数据域,prior是指针域,其值为空指针;next是指针域,指向直接后继结点。下面的代码将此单链表转化为双向循环链表。 #define OK 1 #define ERROR 0 typedef int ElemType; typedef int Status; typedef struct LNode{ struct LNode* prior; ElemType data; struct LNode* next; }DuLNode,*DuLinkList; Status CreateDuList_prior(DuLinkList &L){ // Make the prior point to the precursor node. DuLinkList p,q; 1 ; do{ q = p->next; 2 ; p = q; }while(p!=L); return OK; } 请填写空格1和2处的代码,实现上述功能。
点击查看答案
第8题
双向链表中有2个指针域pre和next,分别指向直接前驱和直接后继,假设有指针p指向链表中的一个结点,指针q指向一个待插入的结点,现在要求在p的前面插入q所指结点,则正确的插入语句为( )

A、p->pre=q;q->next=p;p->pre->next=q;q->pre=p->pre;

B、q->pre=p->pre;p->pre->next=q;q->next=p;p->pre=q->next;

C、q->next=p;p->next=q;p->pre->next=q;q->next=p;

D、p->pre->next=q; q->next=p; q->pre=p->pre;p->pre=q;

点击查看答案
第9题
在长度为n(n≥1)的双链表Head中,假设在0..n个位置插入的概率是相等的,则插入一个新结点的时间复杂度为( )。

A、O(1)

B、O(n)

C、

D、

点击查看答案
第10题
某双向链表中,结点结构为【prior, data, next】。那么删除 p 指针所指结点时,需要执行语句( )。

A、p->prior->next=p->next; free(p); p->next->prior=p->prior;

B、p->next->prior=p->prior; free(p); p->prior->next=p->next;

C、p->prior->next=p->next; p->next->prior=p->prior; free(p);

D、p->prior->next=p->next; p->next->prior=p->prior;

点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
简答题
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
简答题
点击打开微信