Bubble sort

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.

Funkcija koja izvršava bubble sort

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;
      }
}
Primer

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

Nazad