首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中
admin
2012-06-21
89
问题
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中结点的次序,使其按访问频度的递减序列排序,以便使被频繁访问的结点总靠近表头,试写一符合上述要求的LocateNode运算的算法。
选项
答案
在DLinkList类型的定义中添加freq域(int类型),给该域初始化为0。在每次查找到一个结点*p时,使其freq域增1,再在*p结点的前面找到一个结点*q,它或是头结点或是满足q->freq>=p->freq,然后删除*p结点,使其插入到*q结点之后。 算法描述如下: int LocateNode(DLinkList*h,ElemType x) { DLinkList *p=h->next,*q; while(p!=NULL&&p->data!=x) p=p->next; //找data域值为x的结点*p if(p==NULL) //未找到这样的结点 return 0: }else{ //找到这样的结点*p p->freq++; //频度增1 q=q->prior; //*q为*p前驱结点 if(q!=h) //若’p为第一个数据结点,则不移动 { while(q!=h&&q->freq<p->freq)//找到*q结点,使q->freq>=p->freq q=q->prior; p->prior->next=p->next; //先删除*p结点 if(p->>next!=NULL) p->next->prior=p->prior; p->next=q->next; //将*p结点插入到*q结点之后 if(q->next!=NULL) q->next->prior=p; q->next=p; p->prior=q; } return 1; } }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/Y8xi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1979年11月,中共中央委托()主持起草《关于建国以来党的若干历史问题的决议》。
19世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
简述鸦片战争的三个阶段。
新经济政策的实施表明苏俄()①放弃了由战时共产主义政策过渡到社会主义的设想②发展了马克思主义理论③适时调整生产关系以适应生产力发展④利用市场和商品货币关系发展经济
元代对边疆地区的统治方式不同于其他三地的一地是()。
人民解放军转入战略进攻的方向为大别山地区,主要是由于()。①大别山战略位置重要②大别山有良好的群众基础③占据大别山可以从根本上改变战局
如下图所示为一个网络连接的示意图,主机1到主机2采用了SLIP网络连接,SLIP网络可以传输的最大数据段是296字节,主机2和主机3使用了以太网连接。请问:(1)为了使IP不分片,主机1可以在TCP包中承载多少数据?(2)主机3可以在TCP包中承载多
随机试题
班机运输的优点。
无产阶级最可靠的同盟军是()
一氧化碳中毒时下列哪项不正确
妊娠期最易发生心衰的时期为妊娠期护理下列哪项不正确
一个只关心风险的投资者将选取最大收益组合作为最佳组合。( )
优抚安置工作是一项( )很强的工作。
2013年12月17日上午,北京市气象现代化建设工作会议顺利召开。北京市市长王安顺提出,全市各部门、区县要加大投入,加大支持力度,努力把()打造成为北京市应对自然灾害和服务群众生活的有力武器。
某城市的房地产开发商只能通过向银行直接贷款或者通过预售商品房来筹集更多的开发资金。政府不允许银行增加对房地产业的直接贷款,结果使得该市的房地产开发商无法筹集到更多的开发资金,因为______________以下哪个选项能够合逻辑完成上述论证?
数据库系统的核心是()。
Islanguage,likefood,abasichumanneedwithoutwhichachildatacriticalperiodoflifecanbestarvedanddamaged?Judgin
最新回复
(
0
)