Bo to co masz jest pewna optymalizacja klasycznego sortowania babelkowego. Algorytm ten dziala tak ze z kazda glowna iteracja najwiekszy element przenoszony jest na koniec. Skoro tak to mozna zoptymalizowac to do takiej postaci jak przedstawiasz, a zatem z kazda glowna iteracja mozna pomijac kolejne elementy z konca ciagu, poniewaz one na bank sa posortowane:
Jakis ciag nieposortowany 4, 9, 5, 3, 8, 2, 7
po pierwszej glownej iteracji bedize tak: 4, 5, 3, 8, 2, 7, 9 9 - jest najwiekszym elementem
po 2 iteracji: 4, 3, 5, 2, 7, 8, 9 - pogrubione elementy sa juz posortowane i nie trzeba ich sprawdzac tak jak jest to w normalnym sortowaniu babelkowym.
I z kazda kolejna iteracja ten ciag pogrubionych wartosci bedzie wiekszy.
Klasyczny algorytm babelkowy masz pod tym linkiem co podales w pierwszej metodzie bubblesort1.