题目内容 (请给出正确答案)
[主观题]

设存在一个带头结点的单循环链表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处的代码,实现上述功能。

提问人:网友barrywang 发布时间:2022-01-07
参考答案
  抱歉!暂无答案,正在努力更新中……
如搜索结果不匹配,请 联系老师 获取答案
更多“设存在一个带头结点的单循环链表L,每个结点包含三个域,它们分…”相关的问题
第1题
已知一个带头结点单链表,试编写一个求已知单链表的数据域的平均值的函数(数据域数据类型为整型) (1)写出带头单链表存储结构 (2)完成函数int ListAverage(LinkList L)实现求已知单链表的数据域的平均值
点击查看答案
第2题
设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。
点击查看答案
第3题
若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()。

A. 栈

B. 线性表

C. 队列

D. 二叉排序树

点击查看答案
第4题
非空单链表结点结构为【data,next】,指针p所指结点是尾结点的条件是 。
点击查看答案
第5题
设单循环链表中结点的结构为(data,link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪一个操作()。

A.s=rear;rear=rear->link;deletes;

B.rear=rear->link;deleterear;

C.rear=rear->link->link;deleterear;

D.s=rear->link->link;rear->link->link=s->link;deletes;

点击查看答案
第6题
有以下程序

#include

#include

void fun(char *s[],int n)

{ char *t; int i,j;

for(i=0;i

for(j=i+1;j

if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}

}

main()

{ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};

fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);

}

程序的运行结果是

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc

点击查看答案
第7题
对于双向循环链表,在两个结点之间插入一个新结点需修改的指针共( )个。

A、2

B、3

C、4

D、5

点击查看答案
第8题
已知一个带有表头结点的双向循环链表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);

点击查看答案
第9题
建立一个包含30个元素的循环链表 #include "stdio.h" #include <malloc.h> struct node { int no; 【6】 next; }; main( ) { int i, k; struct node *head, *p, *q; head = (struct node *)malloc(sizeof(struct node)); head->no = -1; head->next = head; for ( i=30; i>0; i-- ) /* 生成循环链表 */ { p = (struct node *)malloc(sizeof(struct node)); p->next = 【7】; p->no = i; head->next = p; } } 其中【7】应该填写

A、head->next

B、head

C、NULL

D、p

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

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

简答题官方微信公众号

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

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

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