feat: Add C codes for bucket sort, heap sort, selection sort, binary search edge (#525)

* 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

---------

Co-authored-by: Yudong Jin <krahets@163.com>
This commit is contained in:
gonglja
2023-06-02 02:51:35 +08:00
committed by GitHub
parent 025051c81b
commit 86209e0a7b
8 changed files with 268 additions and 2 deletions

View File

@@ -39,6 +39,27 @@ static void printArray(int arr[], int size) {
}
}
/* Print an Array */
static void printArrayFloat(float arr[], int size) {
printf("[");
if (arr != NULL && size != 0) {
for (int i = 0; i < size - 1; i++) {
if (arr[i] != INT_MAX) {
printf("%.2f, ", arr[i]);
} else {
printf("NULL, ");
}
}
if (arr[size - 1] != INT_MAX) {
printf("%.2f]\n", arr[size - 1]);
} else {
printf("NULL]\n");
}
} else {
printf("]");
}
}
/* Print a linked list */
static void printLinkedList(ListNode *node) {
if (node == NULL) {