首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知由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
57
问题
已知由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
学硕统考专业
相关试题推荐
简述共产国际成立的历史条件。
巴黎和会上,英国既与法国联合抵制美国称霸世界,又与美国联合反对法国过分削弱德国的要求,英国这样做的目的是()。
德国发动二战以后,未进攻苏联先进攻英法的主要依据是()
下列关于清朝军机处的叙述,不正确的是()。
改革开放以来,乡镇企业的异军突起,其重要意义包括()①改变了公有制经济的主体地位②推动了农村产业结构的现代化进程③加快了农村的现代化进程④开辟了农民致富的新途径
阅读以下史料,并回答问题:心即理也,此心无私欲之蔽,即是天理,不须外面添一分。——《传习录》上朱子所谓格物云者,在即物而穷其理也。即物穷理,是就事事物物上求其所谓定理也。是以吾心而求理于事
试述西欧城市兴起的原因、方式及其影响。
列宁在()报告中论证了在俄国实现和平过渡的可能性和必要性。
1977年4月,对“两个凡是”提出批评,开全党思想解放先河的是()。
下列的网络协议中,()的运输层协议是使用TCP的。
随机试题
简述咨询公司拟订方案工作的具体步骤。
患者,男性,40岁,怀疑肝癌入院。患者有焦虑和恐惧,在护士实施护理工作中表现出不合作。下列态度和措施中,不该采取的是()
公共性是指财政提供公共产品和服务满足社会公共需要的基本属性,具有()与整体性。
保险合同的签订和执行必须遵守一定的原则,其中包括:()。
下列关于锌焙烧矿浸出采用两段浸出的工艺说法,错误的是()。
2018年某居民企业实现产品销售收入1000万元,视同销售收入300万元,接收捐赠100万元,国债利息收入50万元,成本费用700万元,其中业务招待费支出15万元。假定不存在其他纳税调整事项,2018年度该企业应缴纳企业所得税()万元。
造成经济损失10万元至100万元的旅游安全事故,属于()。
最简单的、初级的垄断组织形式是
软件需求规格说明书的作用不包括()。
A、Helpwomentomasterknowledgeinlaw.B、Investmoreinfood,healthandeducatioaC、Providefinancialsupportandfairlegal
最新回复
(
0
)