中易网

C++堆排序建堆问题

答案:1  悬赏:40  
解决时间 2021-01-19 05:59
C++堆排序建堆问题
最佳答案
在你的HeapSort应该加一段初始化为最小堆的代码,然后再进入那个for循环。BuildHeap建堆的过程是至上而下的,也就是说j的值变成 2*j或 2*j+1,而不是j/=2.
如果按你这样的方法构建会出现这样的交换过程:
1.8 2 3 1
2.8 1 3 2
3.1 8 3 2
显然不是最小堆,正确的应该是1 2 3 8

你可以看一下这个:http://blog.csdn.net/ouyangying123/article/details/51334165追问我改了一下但是还是有问题,能帮忙看看吗
追答void BuildHeap(){
if(r[j]交换;
}
if(r[j]}追问
还得再麻烦你一次。。。改完之后还是什么都输出不了,应该是还有别的问题。。但是我看不出来。。

追答如果单是对代码的话,你可以照着上面的链接里面的代码一行一行对~
我觉得你的思路不是很清晰,建议你照着链接里的数据,手动模拟一遍过程,然后根据过程对你的代码~ 要注意数组下标 和 你的堆下标是否一致~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在英雄联盟的小说里有叫华小小的小说叫什么
诚信家政服务公司(新乡封丘县)地址在什么地方
23岁的女老师把初夜给了我,我35岁结婚了。她
qq号小小妖娆15岁姓什么是个女的
可以飞的赛车的图怎么弄
怎么回答顾客.商场停车为什么收费
我饭店名字是这个箫记的箫。 郑州萧记烩面公
双12活动我用海尔嗨付APP的家电贷0首I付免I息
怎么上谷歌
Jsp中的Application使用
万国葡萄牙系列IW371446手表怎么样
天成园月嫂地址在什么地方,我要处理点事
美的官网
74到82的邮票什么价
火分期好用吗
推荐资讯
cmutid2015cp2119:华为什么手机
00后喜欢啥?70后喜欢啥?
中国数字人解剖系统一定要联网吗
跟良品铺子类似的店子有哪些?这类品牌哪个更
请问怎样用小刀轻轻刮字迹看不来呀?我刮了还
防止关门声音大,可以贴在门上的叫什么?哪里
利用微分近似计算arccos0.5002
六米六高的复式加装夹层有必要吗
禾香板真的不含甲醛吗?
水中花美容SPA养生馆地址在什么地方,我要处
形容夫妻感情深厚的词语
CA19~9是什么意思?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?