#include <iostream>
using namespace std;

// Funkcja sortująca algorytmem bąbelkowym
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        // Flaga sprawdzająca, czy dokonano zamiany
        bool swapped = false;

        // Pętla wewnętrzna
        for (int j = 0; j < n - i - 1; j++) {
            // Jeśli elementy są w złej kolejności, zamień je miejscami
            if (arr[j] > arr[j + 1]) {
                swap(arr[j], arr[j + 1]);
                swapped = true;
            }
        }

        // Jeśli nie było żadnej zamiany, przerwij pętlę
        if (!swapped) {
            break;
        }
    }
}

// Funkcja pomocnicza do wypisania tablicy
void printArray(int arr[], int n) {
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

int main() {
    int n;

    // Wprowadzenie liczby elementów tablicy
    cout << "Podaj liczbe elementow w tablicy: ";
    cin >> n;

    // Tworzymy dynamicznie tablicę na podstawie wprowadzonej liczby
    int* arr = new int[n];

    // Wprowadzenie elementów tablicy
    cout << "Podaj " << n << " elementow tablicy:" << endl;
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }

    cout << "Tablica przed sortowaniem: ";
    printArray(arr, n);

    // Sortowanie bąbelkowe
    bubbleSort(arr, n);

    cout << "Tablica po sortowaniu: ";
    printArray(arr, n);

    // Zwolnienie dynamicznie alokowanej pamięci
    delete[] arr;

    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: