📄 算法 6.15.txt
字号:
算法 6.15
void HeapSort ( HeapType &H ) {
// 对顺序表H进行堆排序。
for ( i=H.length/2; i>0; --i ) // 把H.r[1..H.length]建成大顶堆
HeapAdjust ( H, i, H.length );
w=H.r[1] ; H.r[1]= H.r[H.length]; H.r[H.length]=w;
//交换"堆顶"和"堆底"的记录
for ( i=H.length-1; i>1; --i ) {
HeapAdjust(H, 1, i); // 从根开始调整,将H.r[1..i] 重新调整为大顶堆
w=H.r[1]; H.r[1]=H.r[i]; H.r[i]=w; // 将堆顶记录和当前的"堆底"记录相互交换
// 使已有序的记录堆积到底部
}
} // HeapSort
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -