Żeby było zabawniej ten sam algorytm ograniczony warunkiem do pierwszego znaku robi to samo 20 sekund dłużej - porównanie pierwszych znaków dwóch zmiennych wymaga dodatkowych nakładu na obcięcie tych znaków.
No czary z mleka! Nawet nie pomyślałem, że porównywanie dziesięciu elementów będzie szybsze niż jednego

Ciężko nawet na to wpaść.
Ten trzeci przykład, który poprzednio zamieściłem, po usunięciu drugiego indeksu, przyspieszył o 10 sekund. Wynik - 1:04
@ZbyniuR w związku z tym co powyżej, spróbowałem łączenia linii, mając nadzieję, że da się zejść poniżej minuty

Też stosowałem kiedyś łączenie linii, ale po to żeby skrócić program. Sądziłem że Ty też. Ale myślałem że może być jakiś zysk czasowy.
A tu niespodzianka: po połączeniu - działa dłużej!

Po serii szybkich testów okazało się że
pętle muszą być na początku linii. FOR w głębi linii spowalnia to sortowanie o 8% (5s), NEXT w głębi linii spowalnia o 2% (1s).
Połączenie innych instrukcji rzeczywiście przyspiesza, ale niewiele o 1-2% (1s).
A jeśli chodzi o sortowania bąbelkowe:
1. Dla prawie posortowanych danych jest bombowo szybkie, po zmianie np. piątego elementu w już posortowanej tablicy uwija się w 6sek! (94% szybciej), bo można zakończyć sortowanie gdy nie ma zamian. Sortowanie wyborem przyspiesza tylko o ~10% bo zyskuje się tylko na niewykonaniu zmian p$ i min. Nawet na tym gifie porównawczym to widać.
2. Kiedyś napisałem na OPUSa sortowanie nazw w katalogu dyskietki (w asemblerze). Program okazał się mało użyteczny, bo posortowanej dyskietki nie wolno było chyba defragmentować (się chyba robiła kaszana). Ale ładnie wyglądał, bo po każdym przebiegu wyświetlałem katalog i widać było jak jeden plik elegancko "wędruje" sobie na koniec

Zastosowałem sortowanie bąbelkowe, nawet nie więdząc, że tak się nazywa - po prostu wymyśliłem że tak zrobię. Nawet Bill Gilbert początkowo się zachwycał

Zastanawiam się czy może prościej by nie było stworzyć tylko tablice, posortowanych indeksow, tej pierwszej tablicy.
Też myślałem, że może być odrobinę szybciej - bo nie będzie trzeba zamieniać elementów, tylko kopiować/wstawiać do drugiej tablicy. Sprawdziłem - nie, jest niestety dłużej.
Stosuje się metodę podobną do algorytmu wyboru, ale bez jego plusów, bo nie eliminuje się z tablicy pierwotnej już wybranego elementu. Więc żeby go drugi raz nie wybrać - trzeba go oznaczyć (np, wpisując literę Z). Więc już mamy tyle samo operacji co w sortowaniu, a jeszcze dochodzi to, że cały czas trzeba przeszukiwać całą tablicę, a w sortowaniu w każdym przejściu przeszukuje się o 1 element krócej.
Plus dodatkowa duża tablica też spowalnia dostęp.
Ułożyła się z tego prawdziwa "seria niefortunnych zdarzeń"
