算法 6.15.txt

来自「《数据结构及应用算法教程》一书的源代码。作者:严蔚敏」· 文本 代码 · 共 14 行

TXT
14
字号
算法 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 + =
减小字号Ctrl + -
显示快捷键?