 如果新堆的堆顶元素不能满足堆的性质,就需要把当前无序区(A1,A2,。。。。。。An-1)重新调整,转换成新堆,然后再把堆顶元素与无序区倒数第一个元素替换,得到新的无序区{A1,A2。。。。A(n-2)}和新的有序区{A(n-1),An}。循环上述步骤直到初始序列完全变为有序序列。来*自-优=尔,论:文+网www.chuibin.com

    (3) 操作进程如下:

     初始化堆:将A[1。。。。。。n]构造为堆;

 把堆顶元素A[1]与最后一个元素A[n]替换,把剩下的无序区(A1,A2,。。。。。。An。1)调整成新的堆。

所以执行堆排序的最主要的两个步骤一个是构建初始堆,一个是调整新堆。

下面举例说明:

给出初始序列a[]={16,7,3,20,17,8},用堆选择排序法从小到大排序。

上一篇:VB+ArcGIS的校园信息系统的设计研究
下一篇:jsp+mysql超市管理系统设计实现+源代码

C语言学生宿舍管理系统设计

C语言在计算机中的应用探讨

C语言学生社团管理系统设计

论信息技术茬外语教學中的應用【3270字】

嵌入式实时系统开发的正确选择【2027字】

16位单片机的语音电子门锁系统【2910字】

ADPCM语音编解码电路设计及FPGA实现【944字】

STC89C52单片机NRF24L01的无线病房呼叫系统设计

浅谈高校行政管理人员的...

压疮高危人群的标准化中...

从政策角度谈黑龙江對俄...

基于Joomla平台的计算机学院网站设计与开发

浅论职工思想政治工作茬...

提高教育质量,构建大學生...

AES算法GPU协处理下分组加...

上海居民的社会参与研究

酵母菌发酵生产天然香料...