Бульбашкове сортування (Bubble sort)
Крок 0/0
Швидкість ~450 мс/крок

Змінні циклів

Порівнянь: 0
Обмінів: 0
Кроків: 0
порівняння (j ↔ j+1)    обмін (j ↔ j+1)

Пояснення кроку

Опис і код
Ідея: робимо проходи по масиву, порівнюючи сусідні елементи і міняючи їх місцями, якщо вони “в неправильному порядку”.
Інваріант: після кожного проходу найбільший елемент “спливає” у кінець (позиція n-1-pass).
void bubble_sort(int a[], int n) {
    for (int pass = 0; pass < n - 1; ++pass) {
        for (int j = 0; j < n - 1 - pass; ++j) {
            if (a[j] > a[j + 1]) std::swap(a[j], a[j + 1]);
        }
    }
}