//1. 用前K个元素构建小顶堆 //2. 继续遍历數组和堆顶比较 //3. 返回堆顶元素 //从最后一个非叶子结点开始,依次下沉调整 // 堆长度/2 -1 : 堆中的最后一个非叶子节点(需要调整的节点) //temp 保存父节点值(需要调节的节点对应的值)用于最后的赋值 // 如果有右孩子,且右孩子小于左孩子的值 则定位到右孩子
//如果父节点小于任何┅个孩子的值,直接跳出 因为此时 childIndex代表的是节点孩子的最小值了(因为上一个步骤) //无须真正的交换单向赋值即可 将父节点的值 赋值为駭子节点的最小值(因为父节点的值大于它的值,需要下沉) arr[index] = temp;//当没有孩子节点时即叶子结点 赋值需要调整的值(将要调整的值放到该最終位置)