首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知由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
27
问题
已知由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://kaotiyun.com/show/YARi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
巴黎和会讨论的中心问题是()。
晚清时期清帝年号的正确排序是()
新石器时代的房屋建筑根据环境的不同形成了不同的类型,()地区多为干栏式建筑。
纳粹德国公开撕毁《凡尔赛和约》的步骤有()。①大量扩展陆军,重建空军,建造军舰②迫害犹太人③退出国联④开进莱茵非军事区
中央苏区的全盛时期,是在第()次反“围剿”之后形成的。
北宋在统一南方割据势力的过程中特设(),把征南所得的财富统一存放,以作日后恢复幽燕之费。
编写判定给定的二叉树是否是二叉排序树的函数。
在一个长度为n(n>1)的带头结点的单链表h上,设有尾指针r(指向尾结点),则执行()操作与链表的长度有关。
某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是()。
UDP的报文头部不包括()。
随机试题
癌症、白血病患者,可以通过泡温泉来促进新陈代谢。()
离心泵的泵壳既是汇集叶轮抛出液体的部件,又是流体机械能的转换装置。()
从行政组织职能的行使方式来看,其变化的趋势以人治为主、行政手段为主转向以___________为主、以___________和___________为主。
尿路感染的易感因素不包括
给定材料:患者,男性,68岁,农民。主诉:发作性胸痛1月,持续心前区痛3h。现病史:1月前反复发作胸痛,劳累中发作,每次持续5~10min,休息可缓解。3h前活动突感心前区痛,伴左肩臂酸胀,含服硝酸甘油2小时未见好转,伴郁气、乏力、出汗。高血压病史8
当事人对裁决不服的,可以自裁决书送达之日起( )内向人民法院起诉。拆迁入依照本条例规定已对被拆迁人给予货币补偿或者提供拆迁安置用房、周转用房的,诉讼期向不停止拆迁的执行。
在下列关于评价某一指标当前状态的有关表述中,错误的是( )。
某股份有限公司2003年3月1日,以1072万元的价款购人面值为]000万元的债券,进行长期投资。该债券系当年3月1日发行,票面年利率为6%,期限为3年,到期一次还本付息。该债券溢价采用直线摊销。该债券投资当年应确认的投资收益为( )万元。
一名调皮的学生屡次扰乱课堂秩序,教师请其站在教室的后面。教师运用了()。
【B1】【B6】
最新回复
(
0
)