首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有一个双链表L,每个结点中除有prior、data和next这3个域外,还有一个访问频度域freq,在链表被启用之前,其值均初始化为零。每当在链表进行一次LocateNode(L,x)运算时,令元素值为x的结点中freq域的值加1,并调整表中结点的次序,
设有一个双链表L,每个结点中除有prior、data和next这3个域外,还有一个访问频度域freq,在链表被启用之前,其值均初始化为零。每当在链表进行一次LocateNode(L,x)运算时,令元素值为x的结点中freq域的值加1,并调整表中结点的次序,
admin
2017-01-04
51
问题
设有一个双链表L,每个结点中除有prior、data和next这3个域外,还有一个访问频度域freq,在链表被启用之前,其值均初始化为零。每当在链表进行一次LocateNode(L,x)运算时,令元素值为x的结点中freq域的值加1,并调整表中结点的次序,使其按访问频度的递减排列,以便使频繁访问的结点总是靠近表头。试写一符合上述要求的LocateNode运算的算法。
选项
答案
typedef struct DuLNode{ ElemType data; int freq; struct DuLNode*pred,*next; }*DList; DList locate(DList L,ElemType x){ //L是带头结点的按访问频度递减的双向链表 DList p=L一>next,q; //p为L表的工作指针,q为P的前驱,用于查找插入位置 while(P&&p一>data!=x)p=p->next; //查找值为x的结点 if(!P){printf(”不存在所查结点\n”);exit(0);} else{ p一>freq++; //令元素值为x的结点的freq域加l p一>next一>pred=p一>pred; //将P结点从链表上摘下 p一>pred一>next=p一>next: q=p一>pred; //以下查找P结点的插入位置 while(q |=L&&q一>freq<p一>freq)q=q一>pred: p一>next=q一>next; q一>next一>pred=P;//将P结点插入 p一>pred=q;q一>next=p; } return(P); //返回值为x的结点的指针 } 提示:在算法中先查找数据x,查找成功时结点的访问频度域增1,最后将该结点按频度递减插入链表中。
解析
转载请注明原文地址:https://kaotiyun.com/show/ihRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述雅尔塔体系的内容和影响。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
西汉末年,()对太初历作了系统的解释,并调整为三统历。这是中国第一部记载完整的历法。
院系调整
中共八届九中全会提出的恢复和调整国民经济的方针是()。
()是二战后一个调整各国贸易关系的法律框架,又是一个进行多边贸易谈判、争夺市场的场所,还是一个调解和解决争议的机构。
设某多道程序系统中有用户使用内存1000M,打印机1台。系统采用可变分区动态分配算法管理内存,而对打印机采用静态分配。假设输入输出操作时间忽略不计,采用最短剩余时间优先的进程调度算法,进程最短剩余时间相同时采用先来先服务的算法,进程调度时机选择在进程执行结
已知二叉树采用二叉链表方式存放,要求返回二叉树T的后序序列中的第一个结点的指针,是否可不用递归,且不用栈来完成?请简述原因。
随机试题
茶艺师为VIP宾客服务,每天都要了解VIP宾客的()。
何谓阴道穹,有何临床意义。
甲状旁腺腺瘤的声像图特征为
口对鼻吹气不适用于
整合所学知识之间、新旧知识之间的内在联系,形成新的知识结构的策略属于()
同人作品指在原创作品中的一些虚拟人物在二次创作下,演绎不同的故事。二次创作的作者不是原创作品的创作者。根据上述定义,下列属于同人作品的是:
关于法律与国家的一般关系,下列说法正确的是
求极限
A类IP地址用于______。
WhenBillGatesbecameinterestedincomputer,hewas______yearsold.
最新回复
(
0
)