数据结构-实验9各种排序算法 联系客服

发布时间 : 星期日 文章数据结构-实验9各种排序算法更新完毕开始阅读

只要排剩下的数就可以啦*/ data[1]=data[i]; data[i]=temp; HeapAdjust(data,1,i-1);

cout<<\ 筛选调整得到堆:\

DispHeap(data,1,i-1);cout<

} }

void main() {

int i,k,n=8;

int a[]={49,38,65,97,76,13,27,49}; int R[20]; for (i=1;i<=n;i++)

R[i]=a[i-1];

cout<

cout<<\ 初始关键字: \for (k=1;k<=n;k++)

cout<

cout<

for (i=n/2;i>=1;i--)

HeapAdjust(R,i,n);

//循环建立初始堆

}

Heap_sort(R,n);

cout<<\ 最终结果: \//输出最终结果 for (k=1;k<=n;k++)

cout<

cout<

四,实验小结

1、通过本次实验,加深了我各种排序算法的认识。

2、 将待排序列建成堆(初始堆生成)后,序列的第一个元素(堆顶元素)就一定是序列中的最大元素;

将其与序列的最后一个元素交换,将序列长度减一;

再将序列建成堆(堆调整)后,堆顶元素仍是序列中的最大元素,再次将其与序列最后一个元素交换并缩短序列长度;反复此过程,直至序列长度为一,所得序列即为排序后结果。