Vytisknout

Řadicí algoritmus. Cílem je seřadit zadaný seznam dle velikosti.

"""
Select sort
Vybere vždy ze zbytku největší prvek a ukládá je vlevo na začáek zbytku.
""" 

seznam = [12,13,1,25,13,16,1,8,2]  # např.

print("neseřazeno:")
print(seznam)

for i in range (0,len(seznam)-1):  # prochází celý seznam-1, poslední prvek netřeba řadit
    maxindex= i                     # index-pozice, na kterém je největší prvek
    for j in range (i+1,len(seznam)):  # prochází neseřazený zbytek seznamu od i+1 a vybírá největší prvek
        if (seznam[j] > seznam[maxindex]):  # if prvek na indexu j > prvek na maxindexu
            maxindex=j          # dej na maxindex(pozici největšího prvku) největší prvek
    # potom přehodí řazený prvek, který je na pozici maxindex, na pozici i
    tmp = seznam[i]             # nakonec prohoď prvky, prvek na indexu i odlož
    seznam[i]=seznam[maxindex]  # na přední místo dej prvek na maxindexu
    seznam[maxindex]=tmp        # do zbytku seznamu na maxindexu dej původní prvek na indexu i


print("seřazeno:") 
print(seznam)       # vytiskne seřazený seznam
Zobrazení: 231