堆排序问题

问题描述:

堆排序问题
一组记录的关键码为146,79,56,38,40,84采用堆排序,则初始堆化后最后一个元素师是几?答案说是146,为啥啊?

不知道你是递增排序还是递减排序,如果是递增排序,则初始堆为大根堆,初始化调整后的排列是这样的:146,79,84,38,40,56如果是递减排序,则初始堆为小根堆,初始化调整后的排列是这样的:38,40,56,79,146,84都不是你的答...题目没有说是递增还是递减。。。不清楚你的原始题目的原文是怎样的,只有前面说的:递增排序调整为初始堆后,第一趟排序的结果是最后一个元素就是146能告诉我146是怎么来的不?谢谢,我还有20分,也给你大根堆初始化调整后的排列是:146, 79, 84, 38,40,56接下来开始排序第一趟:将堆顶的146 和最后一个元素56互换,得到序列 56, 79, 84, 38, 40, 146注意146排序已经到位,只需要对前面的5个元素再次调整得到84, 79, 56, 38, 40, 146,这才是第一趟排序完的结果第二趟:将堆顶的84,和最后一个元素40互换,.....,步骤类似,5趟排序后就完全递增有序了