Porządkowanie bąbelkowe

Sortowanie bąbelkowe realizowane jest przez porównywanie wszystkich kolejnych par elementów w celu znalezienia elementu największego. W ciągu T[0...n-1]sprawdzane są więc pary elementów T[i] z T[i+1], przeglądanego ciągu przesuwany jest na koniec. Element ten jest już posortowany, więc w kolejnej fazie przeglądamy już krótszy ciąg. W pierwszym kroku przeglądamy ciąg n-elementowy, wykonujemy więc n-1 porównań. W drugim kroku ciąg zawiera n-1 elementów, porównań będzie więc tylko n-2. Na końcu mamy tylko dwa elementy i jedno porównanie.

Omawiany algorytm jest stabilny i realizuje sortowanie ciągu metodą w miejscu.

Prześledźmy kolejne kroki sortowania na przykładzie liczbowym. Uporządkujemy rosnąco ciąg liczbowy: (7; 3; 0; 1; 5), stosując algorytm bąbelkowy:

[Rozmiar: 17471 bajtów]

Schemat blokowy algorytmu

[Rozmiar: 9503 bajtów]

Procedura w jezyku pascal

[Rozmiar: 4451 bajtów]



Copyright © 2012 Konrad Nielepkowicz