首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知由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-11-20
52
问题
已知由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[n-1]>K[n])swap(K[n-i],K[i]);//swap()实现交换两个元素 if(K[i]<K[n]&&K[n-1]<K[n]}swap(K(n],K[i]); } else //当n是左结点 { if(K[i]<K[n])swap(K[n],K[i]); } i=i/2; while(i>0) //依次向上调整 { if(K[i]<K[n-1]&&K[n-1]>K[n])swap(K[n-1],K[i]); if(K[i]<K[n]&&K[n-1]<K[n])swap(K[n],K[i]); i=i/2; } }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/YARi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1934年9月苏联加入国联,对此说法错误的一项是()。
“我不想变成上帝,或居住在永恒之中,或者把天地抱在怀里,属于人的那种光荣对我就够了。我自己是凡人,我只要求凡人的幸福。”这句话体现的思想是()
在捍卫和传播生物进化论方面做出了贡献的是()。
纳粹德国公开撕毁《凡尔赛和约》的步骤有()。①大量扩展陆军,重建空军,建造军舰②迫害犹太人③退出国联④开进莱茵非军事区
院系调整
詹天佑自主设计修建了中国第一条铁路是在()。
印加人记载事物使用的方法是()。
抗日战争期间,日本将沦陷区的许多矿产业、钢铁业等交给日本公司管理,其名义是()。
下列哪一个不是罗马王政时代的管理机构?()
某机字长32位,主存容量32MB,按字节编址;该机的Cache采用4路组相联映射方式,Cache容量为16KB,块长为4个字,试回答下列问题:(1)主存地址位数为多少?(2)画出主存地址格式示意图,注明各字段名称及位数。(3)设该Ca
随机试题
A.核质B.荚膜C.细胞膜D.细胞质E.细胞壁细菌的主要遗传物质是
我国建筑抗震设防目标是在遭遇基本烈度地震(中震)时,建筑结构将处于()。
某承包商承建一基础设施项目,其施工网络进度计划见图5-T-1。在施工网络进度计划中,模板工程计划投资300万元,分解为A1、A2、A3三个施工段;钢筋工程计划投资1800万元,分解为B1、B2、B3三个施工段;混凝土工程计划投资6000万元,分解为C1
下列能产生发盘失效的情形有()。
市场利率和实际利率的关系是()。
一国政府制定其税收政策和税收制度的核心问题是( )。
劳动力从无限供给到短缺的转变,称为“刘易斯拐点”。一旦数目庞大的廉价劳动力出现市场短缺,对于中国经济的挑战将是巨大的。我国应对“刘易斯拐点”的根本途径是()。
家畜饲养业是在狩猎经济的基础上发展起来的。家畜饲养业最初发生在()。
ScientistshavediscoveredapowerfulantibioticinthebloodstreamofgiantpandasthatcandestroybacteriaTheChineseresea
若在窗体模块的声明部分声明了如下自定义类型和数组:PrivateTyperecCodeAsIntegerCaptionAsStringEndTypeDimarr(5)Asrec则下面的输出语句中正确的是( )。
最新回复
(
0
)