首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知由n—1个关键字组成的序列(K1,K2,…,Kn—1)是大顶堆,现在增加一个关键字Kn,要求将关键字序列(K1,K2,…,Kn—1,Kn),重新调整为大顶堆。请完成以下要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
已知由n—1个关键字组成的序列(K1,K2,…,Kn—1)是大顶堆,现在增加一个关键字Kn,要求将关键字序列(K1,K2,…,Kn—1,Kn),重新调整为大顶堆。请完成以下要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
admin
2017-04-28
77
问题
已知由n—1个关键字组成的序列(K
1
,K
2
,…,K
n—1
)是大顶堆,现在增加一个关键字K
n
,要求将关键字序列(K
1
,K
2
,…,K
n—1
,K
n
),重新调整为大顶堆。请完成以下要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: #define n 100; //宏定义n常量,由用户自定义结点个数 int K[n]; //关键字序列 void heap() { int i=n/2; //找到最后一个结点的父母结点 if(n%2==1) //当n是右结点时 { if (K[i] <K[n—1] &&K fn—ll >K fnl)swap(K[n—1] ,K [i]);//swap()实现交换两个元素 if (K[i]<K[n]&&K[n—l] <K [n)) swap(K[nl ,K [i]); } else //当n是左结点 { if(K[主]<K[n])swap(K[n],K[i]); } i=1/2; while (i>0) //依次向上调整 if {K [i] <K [n—1] &&K [n—1] >K [n] ) swap (K [n—1] ,K [i]) ; if (K [j] <K [n]& &K [n—1] <K [n] ) swap (K [n] ,K [i]) ; i=1/2; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/zJRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1907年召开的第二国际斯图加特代表大会上,争论最激烈的问题是()。
1925年爆发的当时世界上罢工时间最长的一次斗争是()。
16世纪英国国王推行宗教改革的根本目的是()
下列选项中,对东汉度田问题的描述中,不正确的是()
1947年,苏联一些农村的干部和群众,为了调动广大群众生产积极性,在管理制度方面进行改革,其主要措施是()。
系统总结了6世纪以前黄河中下游地区农牧业生产经验的著作是()。
下列城市:①南京②厦门③天津④杭州,按其在近代历史上开放为商埠的时间先后顺序排列应该是()
中国共产党召开七届二中全会的主要目的是()。
欧洲历史上第一部系统完备的法典是()。
一个使用选择性重传协议的数据链路层协议,如果采用了5位的帧序列号,那么可以选用的最大窗口是()。
随机试题
A.《诸病源候论》B.《圣济总录》C.《外台秘要》D.《儒门事亲》指出瘿病以山区发病较多者是
"Ithurtsmemorethanyou."and"Thisisforyourowngood."ThesearethestatementsmymotherusedtomakeyearsagowhenI
确定脊膜膨出是否有脊髓膨出的首选方法是
急性弥漫性腹膜炎观察2小时后病情无缓解,腹胀加重,但病因仍难以肯定,适宜的处理措施不包括以下哪一项
治疗胃癌脾胃虚寒证,应首选的方剂是
深入推进依法行政,加快建设法治政府。具体实施方面需要:()
违反《建设工程安全生产管理条例》的规定,县级以上人民政府建设行政主管部门或者其他有关行政管理部门的工作人员,对不具备安全生产条件的施工单位颁发资质证书的,给予降级或者撤职的行政处分;构成犯罪的,依照刑法有关规定追究()。
试述我国的单一制国家结构形式。(2014年法学综合课分析论述第37题)
设A是三阶矩阵,其特征值是1,3,-2,相应的特征向量依次是α1,α2,α3,若P=(α1,2α3,-α2),则P-1AP=()
A、 B、 C、 C录音原句意为“John跳得很高”。图片A中的人在跑步(run),图片B中的人在滑雪(ski),图片C中的人则在跳高(jump)。从原句可清晰听到“jump”一词,所以正确答案为C。
最新回复
(
0
)