Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Код к практике 6-2

.txt
Скачиваний:
4
Добавлен:
06.06.2019
Размер:
909 б
Скачать
#include<stdio.h>
#include<malloc.h>

int sorting_function(int *arr, int arr_len)
{
        int tmp, j, count=0;
        for(int k = arr_len / 2; k > 0; k /= 2)
        for(int i = k; i < arr_len; i++)
        {
            tmp = arr[i];
            for(j = i; j >= k; j -= k)
            {
                if(tmp < arr[j - k])
                    arr[j] = arr[j - k];
                else
                    break;
            }
            arr[j] = tmp;
        }
    return count;
}

int main() {
    int arr_len;
    scanf("%d",&arr_len);
    int *arr = (int*)malloc(sizeof(int) * arr_len);
    for(int i = 0; i < arr_len; i++)
    {
        scanf("%d",&arr[i]);
    }
    sorting_function(arr, arr_len);
    for(int i = 0; i < arr_len; i++)
    {
        printf("%d", arr[i]);
        if(i<arr_len-1)
        printf(" ");
    }
    free(arr);
    printf("\n");
}