首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带头结点单链表的结点类型nextNode定义为struct nextNode{int data;int freq;struct nextNode *next; };其中,data为结点值域,freq为该结点元素的访问计数,初始为O;next为指向链
已知一个带头结点单链表的结点类型nextNode定义为struct nextNode{int data;int freq;struct nextNode *next; };其中,data为结点值域,freq为该结点元素的访问计数,初始为O;next为指向链
admin
2017-04-28
47
问题
已知一个带头结点单链表的结点类型nextNode定义为struct nextNode{int data;int freq;struct nextNode *next; };其中,data为结点值域,freq为该结点元素的访问计数,初始为O;next为指向链表中该结点后继结点的指针域,设该链表所有结点按照freq值从大到小链接。请设计一个时间和空间上尽可能高效的算法,编写一个查找函数Search,从链表首结点开始查找结点data值与给定值相等的结点。如果找到,则将该结点的freq值加1,然后把它前移到与结点freq值相等的结点的后面,使得所有结点仍然都保持按照freq值从大到小链接。
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法描述如下: bool selfOrganizationList (nextNode *f,int value,nextNode*&p); nextNode *pre,*q; p=f—>next; q=pre=f; while(p !—NULL&&p—>data !=value) { //出现次数改变的时候记录q if(pre !=f&&pre—>freq>p—>freq) q=pre; pre=p; p=p—>next; } //找不到的时候返回 if (p==NULL) return false; p—>freq++; pre—>next=p—>next, p—>next=q—>next; q—>next=p; return true; }; }
解析
转载请注明原文地址:https://kaotiyun.com/show/CWRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
结合诸条约内容简述中国社会沦为半殖民地半封建社会的过程。
试述欧美盟国对德、日法西斯处置的异同,并分析这种现象的原因及影响。
欧洲第二战场的开辟过程及其意义。
关于《荷马史诗》的叙述不正确的是()。
埃及曾两次被波斯帝国征服,波斯第二次征服埃及的时间是()。
在1875年宪法中关于法国立法权的叙述,不正确的是()。
五四运动后,马克思主义在中国广泛传播。1920年在上海出版了最早的《共产党宣言》中文全译本,译者是()
国民党政府宣布民盟为“非法团体”,民盟总部被迫解散的时间是()。
以下()协议完成了从网卡到IP地址的映射。
序列的“中值记录”指的是:如果将此序列排序后,它是第n/2个记录。试写出一个求中值记录的算法。
随机试题
三相负载接收的总有功功率,等于每相负载接收的有功功率之和。()
设z=z(x,y)由x2+y2+z2-4z=0确定,则出=________.设方程xy+xz+yz=0所确定的隐函数为z=z(x,y),则=________.
关于门静脉高压症的病理生理变化中,下列哪一项是错误的
缺氧患者最典型的症状是
下列疾病可不严格限制植物蛋白的摄入,哪项除外
下列权利中,属于身份权的是()。
费用可表现为资产的减少或负债的增加。()
旅行社不正当竞争的情形有哪些?
人民代表大会制度在根本上体现的是()
Soviet’sNewWorkingWeekHistorianinvestigateshowStalinchangedthecalendartokeeptheSovietpeoplecontinuallyatwork.
最新回复
(
0
)