搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友zhl11520 发布时间:2022-01-06
[主观题]

设有一循环双链表,但初始时每个结点的前域指针prior是空的。编写算法,使每个结点的前域指针prior

指向其直接前趋。

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“设有一循环双链表,但初始时每个结点的前域指针prior是空的。编写算法,使每个结点的前域指针prior”相关的问题
第1题
设有一个双链表,每个结点中除有prior、data和next这3个域外,还有一个访问频度域freq,在链表被启用
之前,其值均初始化为零。每当在链表进行一次L0CateNode(L,x)运算时,令元素值为x的结点中freq域的值加1,并调整表中结点的次序,使其按访问频度的递减序排列,以便使频繁访问的结点总是靠近表头。试写一符合上述要求的L,oCateNode运算的算法。

点击查看答案
第2题
设有一头指针为L的带有表头结点的非循环双向链表,其每个结点中除有pred(前驱指针)、data(数据)和n

设有一头指针为L的带有表头结点的非循环双向链表,其每个结点中除有pred(前驱指针)、data(数据)和next(后继指针)域外,还有一个访问频度域freq。在链表被起用前,其值均初始化为零。每当在链表中进行一次Locate(L,x)运算时,令元素值为x的结点中freq域的值增1,并使此链表中结点保持按访问频度非增(递减)的顺序排列,同时最近访问的结点排在频度相同的结点的最后,以便使频繁访问的结点总是靠近表头。试编写符合上述要求的Locate(L,x)运算的算法,该运算为函数过程,返回找到结点的地址,类型

点击查看答案
第3题
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起
用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中结点的次序,使其按访问频度的递减序列排序,以便使被频繁访问的结点总靠近表头,试写一符合上述要求的LocateNode运算的算法。

点击查看答案
第4题
设有一个双向链表h,每个结点中除有prior、data和next共3个域外,还有一个访问频度域freq,在链表被
起用之前,每个结点中的freq域的值均被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域的值加1,并调整表中结点的次序,使其按访问频度的递减序列排序,以便使频繁访问的结点总是靠近表头。试写一符合上述要求的LocateNode运算的算法。

点击查看答案
第5题
设有一个双向循环链表,每个结点中除有pre,data和next三个域外, 还增设了一个访问频度域freq。
在链表被起用之前, 频度域freq的值均初始化为零, 而每当对链表进行一次Locate(L, x)的操作后, 被访问的结点(即元素值等于x的结点) 中的频度域freq的值便增1,同时调整链表中结点之间的次序,使其按访问频度非递增的次序顺序排列,以便始终保持被频繁访问的结点总是靠近表头结点。试编写符合上述要求的Locate操作的算法。

点击查看答案
第6题
●试题三 阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 设有一

●试题三

阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。

【函数】

void Locate(int &x)

{<结点类型说明>

*p=first->next;

while(p!=frist && (1) )P=P->next;

if (p!=first)/*链表中存在x*/

{ (2) ;

<结点类型说明>

*current=p;/*从链表中摘下这个结点*/

Current->prior->next=current->next;

Current->next->prior=current->prior;

P=current->prior;/*寻找重新插入的位置*/

While(p!=first && (3) )p=p->prior;

Current->next= (4) ;/*插入在P之后*?

Current->prior=P;

P->next->prior=current;

P->next= (5) ;

}

else printf("Sorry.Not find!\n");/*没找到*/

}

点击查看答案
第7题
设有一个双向链表,每个结点中除有prior、 data 和next域外,还有一个访问频度freq域,在链表被起用之前,该域的值初始化为零。每当在链表进行一次Locata(L,x)运算后,令值为x的结点中的freq域增1,并调整表中结点的次序,使其按访问频度的非递增序列排列,以便使频繁访问的结点总是靠近表头。试写一个满足上述要求的Locata(L,x)算法。
设有一个双向链表,每个结点中除有prior、 data 和next域外,还有一个访问频度freq域,在链表被起用之前,该域的值初始化为零。每当在链表进行一次Locata(L,x)运算后,令值为x的结点中的freq域增1,并调整表中结点的次序,使其按访问频度的非递增序列排列,以便使频繁访问的结点总是靠近表头。试写一个满足上述要求的Locata(L,x)算法。

点击查看答案
第8题
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】 设有一个带表头结点的双向循

阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明】

设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度 freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。

【函数】

void Locate(int &x)

{ <结点类型说明>

* p =first -> next;

while(p!=frist&&(1))P=P->next;

if(p! =first) /*链表中存在x*/

{(2);

<结点类型说明>

* current = P; /*从链表中摘下这个结点*/

Current -> prior -> next = current -> next;

Current -> next -> prior = current -> prior;

P = current -> prior; /*寻找重新插入的位置*/

While(p! =first &&(3))p=p->prior;

Current-> next =(4); /*插入在P之后*?

Current -> prior = P;

P -> next -> prior = current;

P->next=(5);

}

else printf("Sorry. Not find! \n"); /*没找到*/

}

点击查看答案
第9题
试设计一个实现下述要求的Locate运算的函数。设有一个带附加头结点的双向链表L, 每个结点有4
个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次Locate(x) 操作时, 令元素值为x的结点的访问频度freq加1, 并将该结点前移,链接到与它的访问频度和等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

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

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

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

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP