Bubble sort in C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
const unsigned elementi = 5; // numero di elementi
double dati[elementi]; // vettore di elementi da ordinare
unsigned i, livello;
double minimo; // variabile temporanea per effettuare lo
scambio
// puntano all'elemento superiore e inferiore
unsigned top = elementi - 1, bottom = 0;
bool ordinato;
cout << "\n\t\t\t\tBUBBLE SORT\n" << endl ;
for (i = bottom; i <= top; i++) {
cout << "Scrivi il valore numero " << i + 1 << ": ";
cin >> dati[i];
}
livello = bottom;
// Bubble Sort
livello = bottom;
do {
ordinato = true;
for (i = top; i > livello; i--) {
if (dati[i] < dati[i - 1]) {
minimo = dati[i];
dati[i] = dati[i - 1];
dati[i - 1] = minimo;
ordinato = false;
}
}
livello++;
} while (!ordinato);
cout << "\n\t\t\t *** Dopo l'ordinamento ***" << endl;
for(i = bottom; i <= top; i++)
cout << "dati[" << i << "] = " << dati[i] << endl;
system("pause");
}