Пузырьковая сортировка в C++: объяснение простого алгоритма сортировки

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

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

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

#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // Swap arr[j] and arr[j + 1]
                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 n = sizeof(arr) / sizeof(arr[0]);
    bubbleSort(arr, n);
    cout << "Sorted array: ";
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
    cout << endl;
    return 0;
}

В этой реализации функция bubbleSortпринимает на вход массив arrи его размер n. Он использует вложенные циклы для сравнения соседних элементов и их замены при необходимости. Внешний цикл выполняется n-1раз, а внутренний цикл выполняется n-i-1раз, где i— текущая итерация внешнего цикла.. Это гарантирует, что самый большой элемент “всплывет” до конца массива на каждой итерации.

Функция main демонстрирует, как использовать функцию bubbleSortс образцом массива.