function swap(arr, i, j){
for (let i = arr.length - 1; i > 0; i--) {
function buildMaxHeap(arr) {
const heapSize = arr.length;
let iParent = (heapSize - 1) >> 1; // Math.floor((heapSize - 1) / 2);
for (let i = iParent; i >= 0; --i) {
maxHeapify(arr, i, heapSize);
function maxHeapify(arr, index, heapSize) {
iRight = 2 * (index + 1);
if (iLeft < heapSize && arr[index] < arr[iLeft]) {
if (iRight < heapSize && arr[iMax] < arr[iRight]) {
maxHeapify(arr, iMax, heapSize); // 递归调整