Compare commits

2 Commits

Author SHA1 Message Date
Ваше Имя
d34b1f4339 функции insert_sort и merge 2025-11-15 04:12:54 -05:00
Ваше Имя
5978caf342 функции insert_sort и merge 2025-11-08 04:34:23 -05:00

42
sort.c
View File

@@ -22,6 +22,16 @@ void
insert_sort(int *arr, size_t sz)
{
// <YOURCODE>
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
@@ -64,10 +74,40 @@ bubble_sort(int *arr, size_t sz)
| 1 | 2 | 3 | 4 | 5 | 6 |
*/
static void
_merge(int *tmp, int *a, int *b, int *end)
{
// <YOURCODE>
// <YOURCODE>
/*
* Функция для слияния двух отсортированных массивов в один.
*/
int a1 = 0, b1 = 0, tmp1 = 0;
int ra = b - a, rb = end - b;
while (ra > a1 && rb > b1)
{
if (a[a1] < b[b1])
{
tmp[tmp1++] = a[a1++];
}
else
{
tmp[tmp1++] = b[b1++];
}
}
while (ra != a1)
{
tmp[tmp1] = a[a1];
a1++;
tmp1++;
}
while (rb != b1)
{
tmp[tmp1] = b[b1];
b1++;
tmp1++;
}
}
static void