Vytisknout

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

"""
Insert sort
Vezme následující prvek a vkládá ho na příslušnou správnou pozici seřazené části seznamu vlevo.

"""
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
    j=i+1       # vezme další prvek po prvních seřazených, na začátku je to druhý prvek
    tmp = seznam[j]   # umístí ho do pom. proměnné   
    # v cyklu vytvořím místo a uloží nový prvek v tmp na správné místo   
    while j>0 and tmp>seznam[j-1]:   # dokud není zleva na začátku, uvolní místo hodnotě
        seznam[j]=seznam[j-1]  # posouvá prvky doprava, dokud řazený prvek je menší, než stávající
        j=j-1    # sníží proměnnou cyklu
    seznam[j]=tmp  # řazený prvek, který je v tmp uloží o jeden dopředu

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

 

Zobrazení: 219