Porede se svaka dva uzastopna elementa niza. Ako je u nekom paru prethodnik veći od sledbenika, ta dva elementa zamenjuju mesta. Ovakvim poređenjem će na poslednje mesto, u prvom prolazu biti postavljen najveći element niza. Postupak se ponavlja dok se ne uporede svi parovi.
void bubble(int n, int a[]) { int i,j,k; for(i=n-1; i>0; i--) for(j=0; j<i;j++) if (a[j]>a[j+1]) { k=a[j]; a[j]=a[j+1]; a[j+1]=k; } }
1)Od brojeva 44,55,12,42,94,18,6,67 dobiti sortiran niz pomoću bubble sorta?
pocetak:
44 55 12 42 94 18 6 67
i=7
44 12 42 55 18 6 67 94
i=6
12 42 44 18 6 55 67 94
i=5
12 42 18 6 44 55 67 94
i=4
12 18 6 42 44 55 67 94
i=3
12 6 18 42 44 55 67 94
i=2
6 12 18 42 44 55 67 94
i=1
6 12 18 42 44 55 67 94