//(metoda bulelor)
Se parcurge vectorul atât timp cât mai există o pereche (a,a[i+1]) cu a > a[i+1] (adică o pereche de numere astfel încât primul să fie mai mare ca cel de-al doilea).
#include<iostream>
using namespace std;
int a[100],n,i;
void bubble_sort(int a[100], int n)
// a - tabloul de numere intregi care se va ordona crescator
// n - numarul de elemente al tabloului
{
int i,aux,inv;
// variabila inv este 0 atunci cand s-a facut o interschimbare
do{
inv=1;
for(i=1; i<=n-1; i++)
if( a[i] > a[i+1] )
{
aux = a[i];
a[i] = a[i+1];
a[i+1] = aux;
inv = 0;
}
}while( !inv );
return;
}
int main(void)
{
cout<<"Dati dimensiunea vectorului n = ";
cin>>n;
cout<<"Dati elementele vectorului \n";
for(i=1; i<=n; i++)
{
cout<<"a["<<i<<"]= ";
cin>>a[i];
}
bubble_sort(a,n);
cout<<"Tabloul ordonat crescator \n";
for(i=1; i<=n; i++) cout<<a[i]<<" ";
}