< Zpět na seznam úloh

T3 Bubble sort

var datasets = [
    {arg: [1, 24, 48], out: [1, 24, 48]},
    {arg: [1, 2, 3, 4, 5], out: [1, 2, 3, 4, 5]},
    {arg: [5, 4, 3, 2, 1], out: [1, 2, 3, 4, 5]},
    {arg: [1, 3, 2, 5, 4], out: [1, 2, 3, 4, 5]},
    {arg: [1, 2, 3, 2, 1], out: [1, 1, 2, 2, 3]},
    {arg: [1, 2, 3, 2, 3], out: [1, 2, 2, 3, 3]},
    {arg: [1, 2, 3, 3, 3], out: [1, 2, 3, 3, 3]},
]
var names = ['cisla'];

Program dostává seznam čísel a má zařídit, aby byl setříděný od nejmenšího po největší. Udělá to tak, že prohodí každou dvojici sousedních prvků, které jsou ve špatném pořadí.

def main(cisla):
    i = 1
    while i < len(cisla):
        if cisla[i] >= cisla[i-1]:
            i = i + 1
        else:
            cisla[i - 1], cisla[i] = cisla[i], cisla[i-1]
    return cisla