Fix `insert` function in `mylist.c` (#747)

* 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.

* feat(codes/c): Add `interation.c ` `recursion.c` `simple_hash.c` `binary_search_edge.c` `binary_search_insertion.c` in C codes.

* fix(mylist.c): Fix `insert` function in `mylist.c`

https://github.com/krahets/hello-algo/discussions/32#discussioncomment-6974163

---------

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

@ -68,6 +68,10 @@ void add(myList *list, int num) {
/* 中间插入元素 */ /* 中间插入元素 */
void insert(myList *list, int index, int num) { void insert(myList *list, int index, int num) {
assert(index >= 0 && index < size(list)); assert(index >= 0 && index < size(list));
// 元素数量超出容量时,触发扩容机制
if (size(list) == capacity(list)) {
extendCapacity(list); // 扩容
}
for (int i = size(list); i > index; --i) { for (int i = size(list); i > index; --i) {
list->nums[i] = list->nums[i - 1]; list->nums[i] = list->nums[i - 1];
} }

Loading…
Cancel
Save