分类：电脑/网络-程序设计-C/C++
问题：数据结构问题:堆排序算法(请高手帮一下好吗?感激不尽) 
回答：堆排序包括构成初始堆和利用堆排序两个阶段进行。
1)将待排序元素调整为堆，所有父结点的键值均不小于它的左子结点和右子结点的键值，此时根结点为最大值。
2)将根结点与最后一个结点交换，重新排列少一个结点的序列(向下渗透)，使之重新成为堆。
3)重复上述过程。