堆排序算法
i节点的左孩子:i*2+1
i节点的右孩子:i*2+2
i节点的父亲:i-1/2
//【堆插入】
void heap_insert(vector<int>& nums, int insert) {
while (nums[insert] > nums[(insert-1)/2]) {
swap(nums[insert], nums[(insert-1)/2];
insert = (insert-1)/2;
}
}
//【堆
原创
2022-03-20 17:29:11 ·
285 阅读 ·
0 评论