From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- rushs/tinyprintf/insertion_sort/insertion_sort.c | 20 ++++++++++++++++++++ rushs/tinyprintf/insertion_sort/insertion_sort.h | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 rushs/tinyprintf/insertion_sort/insertion_sort.c create mode 100644 rushs/tinyprintf/insertion_sort/insertion_sort.h (limited to 'rushs/tinyprintf/insertion_sort') diff --git a/rushs/tinyprintf/insertion_sort/insertion_sort.c b/rushs/tinyprintf/insertion_sort/insertion_sort.c new file mode 100644 index 0000000..2edd195 --- /dev/null +++ b/rushs/tinyprintf/insertion_sort/insertion_sort.c @@ -0,0 +1,20 @@ +#include "insertion_sort.h" + +#include + +void insertion_sort(void **array, f_cmp comp) +{ + if (array == NULL || *array == NULL) + { + return; + } + for (int i = 1; array[i]; i++) + { + for (int j = i; j > 0 && comp(array[j - 1], array[j]) > 0; j--) + { + void *tmp = array[j]; + array[j] = array[j - 1]; + array[j - 1] = tmp; + } + } +} diff --git a/rushs/tinyprintf/insertion_sort/insertion_sort.h b/rushs/tinyprintf/insertion_sort/insertion_sort.h new file mode 100644 index 0000000..a7ba674 --- /dev/null +++ b/rushs/tinyprintf/insertion_sort/insertion_sort.h @@ -0,0 +1,8 @@ +#ifndef INSERTION_SORT_H +#define INSERTION_SORT_H + +typedef int (*f_cmp)(const void *, const void *); + +void insertion_sort(void **array, f_cmp comp); + +#endif /* ! INSERTION_SORT_H */ -- cgit v1.2.3