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

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

#include <stdio.h>
void bubbleSort(int* arr, int size) {
    int i, j;
    for (i = 0; i < size - 1; i++) {
        for (j = 0; j < size - i - 1; j++) {
            if (*(arr + j) > *(arr + j + 1)) {
                // Swap elements
                int temp = *(arr + j);
                *(arr + j) = *(arr + j + 1);
                *(arr + j + 1) = temp;
            }
        }
    }
}
int main() {
    int arr[] = {64, 34, 25, 12, 22, 11, 90};
    int size = sizeof(arr) / sizeof(arr[0]);

    printf("Array before sorting: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", *(arr + i));
    }

    bubbleSort(arr, size);

    printf("\nArray after sorting: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", *(arr + i));
    }

    return 0;
}

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