diff options
| author | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:08:27 +0200 |
|---|---|---|
| committer | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:08:27 +0200 |
| commit | c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c (patch) | |
| tree | 3e4f42f93c7ae89a364e4d51fff6e5cec4e55fa9 /rushs/tinyprintf/insertion_sort | |
add: graphs et rushs
Diffstat (limited to 'rushs/tinyprintf/insertion_sort')
| -rw-r--r-- | rushs/tinyprintf/insertion_sort/insertion_sort.c | 20 | ||||
| -rw-r--r-- | rushs/tinyprintf/insertion_sort/insertion_sort.h | 8 |
2 files changed, 28 insertions, 0 deletions
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 <stddef.h> + +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 */ |
