кодесурса
«C

Упражнения C: сортировка чисел методом быстрой сортировки

script1adsense2code
script1adsense3code

Алгоритм поиска и сортировки при программировании на C: упражнение 12 с решением

Напишите программу на C, которая сортирует числа, используя метод быстрой сортировки.

Примечание. Согласно Википедии «Быстрая сортировка - это сортировка сравнения, это означает, что она может сортировать элементы любого типа, для которых определено отношение« меньше »(формально, общий порядок). Неэффективные реализации это не стабильная сортировка, Это означает, что относительный порядок элементов одинаковой сортировки не сохраняется. Быстрая сортировка может работать на месте в массиве, требуя небольших дополнительных объемов памяти для выполнения сортировки. "

Пример решения:

Образец кода C:

// https://bit.ly/2rcvXK5
#include  <stdio.h>  
void shell_sort (int *a, int n) {
    int h, i, j, t;
    for (h = n; h /= 2;) {
        for (i = h; i < n; i++) {
            t = a[i];
            for (j = i; j >= h && t < a[j - h]; j -= h) {
                a[j] = a[j - h];
            }
            a[j] = t;
        }
    }
} 
int main (int ac, char **av) {
    int a[] = {4, 65, 2, -31, 0, 99, 2, 83, 782, 1};
    int n = sizeof a / sizeof a[0];
    int i;
    printf("Original Array:\n");
    for (i = 0; i < n; i++)
        printf("%d%s", a[i], i == n - 1 ? "\n" : " ");
    shell_sort(a, n);
    printf("\nSorted Array:\n");
	for (i = 0; i < n; i++)
        printf("%d%s", a[i], i == n - 1 ? "\n" : " ");
    return 0;
}

Пример вывода:

 Оригинальный массив:
4 65 2 -31 0 99 2 83 782 1
Сортированный массив:
-31 0 1 2 2 4 65 83 99 782

Блок - схема:

«Блок-схема:

Редактор кода программирования C:

Улучшите этот пример решения и опубликуйте свой код через Disqus.

Предыдущий: Напишите программу на C, которая сортирует числа, используя метод сортировки оболочки.
Далее: Напишите программу на C, которая сортирует числа, используя метод сортировки по бисеру.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code