1. každému prvku ze vstupu najdeme správné místo ve výstupním seznamu a tam jej vložíme
r = []
for x in s:
    i = 0
    while i < len(r):
        if x < _________________
            break
        i += _________________
    r.insert(i, x)
  1. ze vstupu vždy vybereme nejmenší ze zbývajících prvků a ten dáme na konec výstupního seznamu
r = []
while s:
    m = 0
    for i, x in enumerate(s):
        if x _________________
            m = i
    r.append(s.pop(m))
  1. opakovaně opravujeme každou sousední dvojici prvků, aby ten menší byl v pořadí první
d = len(s) - 1
for i in range(d):
    for j in range(_________________
        if s[_________________
            s[j], s[j + 1] = s[j + 1], s[j]
  1. postupně každý prvek přesuneme na správné místo v počáteční části seznamu, která díky tomu už je setříděná
for d in range(len(s)):
    for j in range(_________________
        if _________________
            s.insert(j, s.pop(d))
  1. postupně na začátek seznamu přesouváme vždy ten nejmenší ze zbývající části seznamu
d = len(s)
for i in range(d):
    for j in range(_________________
        if _________________
            s[i], s[j] = s[j], s[i]