sift-up O(nlogn)
sift-down O(n)
build heap O(n)
具体可以查算法导论堆排序。
index从0开始
已知子节点坐标为i,父节点坐标:(i-1)/2
已知父节点坐标为i,左子节点坐标为2k+1,右子节点坐标为2k+2