Fix `my_heap.c` build error (#732)

* fix(codes/cpp): Memory leak fix: the space was not freed when pop removed the element.

* fix(codes/cpp): Fix access error when printArray(arr, 0)

* Update PrintUtil.hpp

* fix(codes/c): Fix some errors of cmake build

* feat(codes/c): Add hashing_search.c

* styles(codes/c): Modify function description

* styles(codes/c): Modify binary_search.c code style

* fix(codes/c): Fix the problem in binary_tree_bfs.c and the problem that the memory is not released.

* feat: Add preorder_traversal_i_compact.c

* feat(codes/c): Add head_sort.c

* feat(codes/c): Add bucket_sort.c

* feat(codes/c): Add binary_search_edge.c

* fix(codes/c): Add programs that are not managed by cmake (c code)

* feat(codes/c): Add selection_sort.c

* style(codes/c): Change swap in selection_sort.c to `selectionSort`

* styles(codes/c): Change style.

* fix(codes/c): Fix some formatting errors and temporarily remove backtracking chapters

* fix(codes/c): Fix space_complexity.c build error.

* feat(codes/c): Add array_binary_tree.c

* feat(code/c): Update push_back and pop_back in vector.h

* styles(codes/c): Adjust  format.

* fix(codes/c/chapter_heap): Fix my_head.c build error.

---------

Co-authored-by: Yudong Jin <krahets@163.com>
pull/735/head
gonglja 1 year ago committed by GitHub
parent c8e0c476bd
commit 7483c6ce1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -22,13 +22,15 @@ void siftDown(maxHeap *h, int i);
void siftUp(maxHeap *h, int i); void siftUp(maxHeap *h, int i);
int parent(maxHeap *h, int i);
/* 构造函数,根据切片建堆 */ /* 构造函数,根据切片建堆 */
maxHeap *newMaxHeap(int nums[], int size) { maxHeap *newMaxHeap(int nums[], int size) {
// 所有元素入堆 // 所有元素入堆
maxHeap *h = (maxHeap *)malloc(sizeof(maxHeap)); maxHeap *h = (maxHeap *)malloc(sizeof(maxHeap));
h->size = size; h->size = size;
memcpy(h->data, nums, size * sizeof(int)); memcpy(h->data, nums, size * sizeof(int));
for (int i = parent(size - 1); i >= 0; i--) { for (int i = parent(h, size - 1); i >= 0; i--) {
// 堆化除叶节点以外的其他所有节点 // 堆化除叶节点以外的其他所有节点
siftDown(h, i); siftDown(h, i);
} }

Loading…
Cancel
Save