code: public static void heapSort(int[] arrays) {
          // 将待排序的序列构建成一个大顶堆
          for (int i = arrays.length / ValueConsts.TWO_INT; i >= 0; i--) {
              heapAdjust(arrays, i, arrays.length);
          }
          // 逐步将每个最大值的根节点与末尾元素交换，并且再调整二叉树，使其成为大顶堆
          for (int i = arrays.length - 1; i > 0; i--) {
              // 将堆顶记录和当前未经排序子序列的最后一个记录交换
              switchNumber(arrays, 0, i);
              // 交换之后，需要重新检查堆是否符合大顶堆，不符合则要调整
              heapAdjust(arrays, 0, i);
          }
      }
docs: 堆排序
  
  @param arrays 数组