首页 > 大学本科> 工学
题目内容 (请给出正确答案)
[主观题]

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

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

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“设有一头指针为L的带有表头结点的非循环双向链表,其每个结点中…”相关的问题
第1题
设有头指针为head的不带头结点的非空的单向循环链表,指针p指向其尾结点,要删除第一个结点,则可利用下述语句head=head->next;和()。

A.p=NULL;

B.p=head;

C.head=p;

D.p->next=head;

点击查看答案
第2题
以L为头结点指针,给出单链表、双链表、循环单链表和循环双链表中,p所指结点为尾结点的条件。

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

点击查看答案
第4题
设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向
逆转,如图2-4所示。要求逆转结果链表的表头指针h指向原链表的最后一个结点。

设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向逆转,如图

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

点击查看答案
第6题
已知带表头结点的非空单链表L,指针P指向L链表中的一个结点(非首结点、非尾结点),试从下列提供的答案中选择合

已知带表头结点的非空单链表L,指针P指向L链表中的一个结点(非首结点、非尾结点),试从下列提供的答案中选择合适的语句序列。

a)P=P->next;

b)P->next=P;

c)P->next=P->next->next;

d)P=P->next->next;

e)while(P!=NULL)P=P->next;

f)while(Q->next!=NULL){P=Q;Q=Q->next;}

g)while(P->next!=Q)P=P->next;

h)while(P->next->next!=Q)p=p->next;

i)while(P->next->next!=NULL)P=P->next;

j)Q=P;

k)Q=P->next;

I)P=L;

m)L=L->next;

n)free(Q);

点击查看答案
第7题
设有一循环双链表,但初始时每个结点的前域指针prior是空的。编写算法,使每个结点的前域指针prior
指向其直接前趋。

点击查看答案
第8题
设单链表中结点的结构为:已知L是带表头的单链表,L是表头指针,则摘除首元结点的语句是(),A、L-L-
设单链表中结点的结构为:已知L是带表头的单链表,L是表头指针,则摘除首元结点的语句是(),A、L-L-

设单链表中结点的结构为:

设单链表中结点的结构为:已知L是带表头的单链表,L是表头指针,则摘除首元结点的语句是(),A、L-L

已知L是带表头的单链表,L是表头指针,则摘除首元结点的语句是(),

A、L-L->link;

B、L->link=L->link->link;

C、L=L->link->link;

D、L->link=L;

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

点击查看答案
第10题
函数count(head)统计链表的结点个数,head为表头指针,阅读程序,要求将整个if语句改成while循环控

函数count(head)统计链表的结点个数,head为表头指针,阅读程序,要求将整个if语句改成while循环控制结构,其形式为【 】。 include<stdio.h> int count(NODE*head) { int n=0; if(head!=NULL) do { n++; head=head->next; } while(head!=NULL); return n;}

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改