Sunteți pe pagina 1din 4

Bubble Sort

Descriere:
Bubble Sort este cel mai simplu algoritm de sortare care funcționează prin schimbarea în
mod repetat a elementelor adiacente dacă acestea sunt în ordinea greșită. Acest algoritm nu
este potrivit pentru seturi mari de date, deoarece complexitatea sa medie și în cel mai rău caz
este destul de mare.

Cod in C++ care va sorta datele în ordine crescătoare:


// C++ program pentru a implementa

// Bubble sort

#include <bits/stdc++.h>

using namespace std;

// functia care implementeaza bubble sort

void bubbleSort(int arr[], int n)

int i, j;

for (i = 0; i < n - 1; i++)

// Ultimele i elemente sunt deja

// plasate

for (j = 0; j < n - i - 1; j++)

if (arr[j] > arr[j + 1])

swap(arr[j], arr[j + 1]);

// Functia pentru a imprima el.

void printArray(int arr[], int size)

int i;
for (i = 0; i < size; i++)

cout << arr[i] << " ";

cout << endl;

int main()

int arr[] = { 1, 3, 0, 5, 15, 22, 4, 6, 97, 8, 33, 78, 85, 7, 1, 45 ,17 ,32, 2, 4, 5, 6, 7, 8, 9};

int N = sizeof(arr) / sizeof(arr[0]);

bubbleSort(arr, N);

cout << "Array-ul sortat in ordine crescatoare: \n";

printArray(arr, N);

return 0;

Rezultat:

Avem in general un algoritm polinomial deci complexitatea generala este


pătratica.
Modificare cod sa afișeze date pe ecran in mod descrescător.
// C++ program pentru a implementa
// Bubble sort
#include <bits/stdc++.h>
using namespace std;
// functia care implementeaza bubble sort
void bubbleSort(int arr[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++)

// Ultimele i elemente sunt deja


// plasate
for (j = 0; j < n - i - 1; j++)
if (arr[j] < arr[j + 1])
swap(arr[j], arr[j + 1]);
}

// Functia pentru a imprima el.


void printArray(int arr[], int size)
{
int i;
for (i = 0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
int main()
{
int arr[] = { 1, 3, 0, 5, 15, 22, 4, 6, 97, 8, 33, 78, 85, 7, 1, 45 ,17 ,32, 2, 4, 5, 6, 7, 8, 9};
int N = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, N);
cout << "Array-ul sortat in ordine crescatoare: \n";
printArray(arr, N);
return 0;
}
Rezultat:

S-ar putea să vă placă și