bubble sort (tsz. bubble sorts)
Íme egy egyszerű Bubble Sort (buborékrendezés) implementáció C++ nyelven:
#include <iostream>
using namespace std;
void bubbleSort(int arr, int n) {
bool swapped;
for (int i = 0; i < n - 1; i++) {
swapped = false;
for (int j = 0; j < n - i - 1; j++) {
if (arr > arr) {
swap(arr, arr);
swapped = true;
}
}
// Ha egy teljes iteráció során nem történt csere, akkor a tömb már rendezett
if (!swapped) break;
}
}
void printArray(int arr, int n) {
for (int i = 0; i < n; i++)
cout << arr << " ";
cout << endl;
}
int main() {
int arr = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr) / sizeof(arr);
cout << "Eredeti tömb: ";
printArray(arr, n);
bubbleSort(arr, n);
cout << "Rendezett tömb: ";
printArray(arr, n);
return 0;
}
Eredeti tömb: 64 34 25 12 22 11 90
Rendezett tömb: 11 12 22 25 34 64 90
Ez az optimalizált változat tartalmaz egy swapped
változót, amely segít azonosítani, hogy történt-e csere az adott iterációban. Ha nem, akkor az algoritmus idő előtt befejeződik, így hatékonyabb.