Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ccd31e943 | |||
| 54d510c713 |
39
sort.c
39
sort.c
@@ -21,7 +21,17 @@ typedef struct {
|
||||
void
|
||||
insert_sort(int *arr, size_t sz)
|
||||
{
|
||||
// <YOURCODE>
|
||||
for (size_t i = 1; i < sz; i++) {
|
||||
int key = arr[i];
|
||||
size_t j = i;
|
||||
|
||||
|
||||
while (j > 0 && arr[j - 1] > key) {
|
||||
arr[j] = arr[j - 1];
|
||||
j--;
|
||||
}
|
||||
arr[j] = key;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@@ -33,7 +43,7 @@ bubble_sort(int *arr, size_t sz)
|
||||
for (i = 0; i < sz; i++) {
|
||||
for (j = i + 1; j < sz; j++) {
|
||||
if (arr[i] > arr[j]) {
|
||||
tmp = arr[i];
|
||||
tmp = arr[i];
|
||||
arr[i] = arr[j];
|
||||
arr[j] = tmp;
|
||||
}
|
||||
@@ -67,8 +77,29 @@ bubble_sort(int *arr, size_t sz)
|
||||
static void
|
||||
_merge(int *tmp, int *a, int *b, int *end)
|
||||
{
|
||||
// <YOURCODE>
|
||||
}
|
||||
int a1=0, b1=0, tmp1=0;
|
||||
int razmera=b-a, razmerb=end-b;
|
||||
while (razmera>a1 && razmerb>b1)
|
||||
{
|
||||
if (a[a1]<b[b1])
|
||||
{
|
||||
tmp[tmp1++] = a[a1++];
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp[tmp1++] = b[b1++];
|
||||
}
|
||||
}
|
||||
while (razmera!=a1)
|
||||
{
|
||||
tmp[tmp1++]=a[a1++];
|
||||
}
|
||||
while (razmerb!=b1)
|
||||
{
|
||||
tmp[tmp1++]=a[b1++];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
_merge_sort_int(int *tmp, int *arr, size_t n)
|
||||
|
||||
Reference in New Issue
Block a user