From 5c66c4f388ecfcc8076ed5c6f2c1edb22e08b937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B0=D1=88=D0=B5=20=D0=98=D0=BC=D1=8F?= Date: Sat, 8 Nov 2025 04:34:21 -0500 Subject: [PATCH] hihihihi --- sort.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/sort.c b/sort.c index b43ee6e..88e0663 100644 --- a/sort.c +++ b/sort.c @@ -21,7 +21,16 @@ typedef struct { void insert_sort(int *arr, size_t sz) { - // + int i, j; + for (i = 1; i < sz; i++){ + int key = arr[i]; + j = i - 1; + while (j >= 0 && arr[j] > key){ + arr[j + 1] = arr[j]; + j--; + } + arr[j + 1] = key; + } } void @@ -67,7 +76,28 @@ bubble_sort(int *arr, size_t sz) static void _merge(int *tmp, int *a, int *b, int *end) { - // + int *left = a; + int *right = b; + int *result = tmp; + + + while (left < b && right < end) { + if (*left <= *right) { + *result++ = *left++; + } else { + *result++ = *right++; + } + } + + + while (left < b) { + *result++ = *left++; + } + + + while (right < end) { + *result++ = *right++; + } } static void