Сортировка массивов в C: методы возрастания

Чтобы отсортировать элементы массива в порядке возрастания на языке программирования C, можно использовать несколько методов. Вот несколько распространенных подходов:

  1. Пузырьковая сортировка. Это простой алгоритм сортировки, который неоднократно проходит по массиву, сравнивает соседние элементы и меняет их местами, если они расположены в неправильном порядке. Процесс повторяется до тех пор, пока массив не будет отсортирован.

  2. Сортировка выбором: этот алгоритм делит массив на две части: отсортированную часть и неотсортированную часть. Он неоднократно выбирает наименьший элемент из неотсортированной части и помещает его в конец отсортированной части. Этот процесс повторяется до тех пор, пока массив не будет полностью отсортирован.

  3. Сортировка вставками. Этот алгоритм сортировки создает окончательный отсортированный массив по одному элементу за раз. Он берет каждый элемент из массива и вставляет его в правильную позицию в отсортированной части массива.

  4. Быстрая сортировка. Быстрая сортировка — это алгоритм «разделяй и властвуй», который выбирает «основной» элемент из массива и разделяет другие элементы на два подмассива в зависимости от того, меньше они или больше стержень. Затем этот процесс рекурсивно применяется к подмассивам, пока не будет отсортирован весь массив.

  5. Сортировка слиянием. Сортировка слиянием — это еще один алгоритм «разделяй и властвуй», который делит массив на две половины, рекурсивно сортирует их, а затем объединяет две отсортированные половины для создания отсортированного массива. Этот процесс также применяется рекурсивно, пока массив не будет полностью отсортирован.

Вот пример реализации алгоритма пузырьковой сортировки в C:

#include <stdio.h>
void bubbleSort(int array[], int size) {
    int i, j;
    for (i = 0; i < size-1; i++) {
        for (j = 0; j < size-i-1; j++) {
            if (array[j] > array[j+1]) {
                int temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            }
        }
    }
}
int main() {
    int array[] = {5, 2, 8, 12, 3};
    int size = sizeof(array) / sizeof(array[0]);
    bubbleSort(array, size);
    printf("Sorted array: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", array[i]);
    }
    return 0;
}

Этот код демонстрирует алгоритм пузырьковой сортировки путем сортировки массива целых чисел. Другие алгоритмы сортировки могут быть реализованы аналогичным образом.