C语言中选择法排序的应用实现(3)
时间:2021-09-29 19:56 来源:毕业论文 作者:毕业论文 点击:次
如果新堆的堆顶元素不能满足堆的性质,就需要把当前无序区(A1,A2,。。。。。。An-1)重新调整,转换成新堆,然后再把堆顶元素与无序区倒数第一个元素替换,得到新的无序区{A1,A2。。。。A(n-2)}和新的有序区{A(n-1),An}。循环上述步骤直到初始序列完全变为有序序列。来*自-优=尔,论:文+网www.youerw.com (3) 操作进程如下: 初始化堆:将A[1。。。。。。n]构造为堆; 把堆顶元素A[1]与最后一个元素A[n]替换,把剩下的无序区(A1,A2,。。。。。。An。1)调整成新的堆。 所以执行堆排序的最主要的两个步骤一个是构建初始堆,一个是调整新堆。 下面举例说明: 给出初始序列a[]={16,7,3,20,17,8},用堆选择排序法从小到大排序。 (责任编辑:qin) |