Min sort

V predchádzajúcej úlohe ste mali na začiatok poľa umiestniť najmenej červivú hubu - najmenšie číslo zo vstupu.

Tento prístup nám dáva nápad na prvý triediaci algoritmus - Min sort. Keď najmenší prvok poľa dáme na začiatok, tak tento prvok bude určite na tomto mieste aj v správne utriedenom poli - je predsa najmenší. To znamená, že prvý prvok je už správne, ostáva už len utriediť zvyšok poľa. A tu môžeme opäť opakovať tú istú myšlienku - na začiatok (tohoto zvyšku) poľa dáme ten prvok, ktorý je najmenší. Tento postup môžeme opakovať, až pokiaľ nemáme utriedené celé pole.

Zhrňme teda myšlienku:

def minimum_na_zaciatok(A, zaciatok):
  # z prvkov pola A od indexu `zaciatok`
  # vyberie minimum a da ho do pola na index `zaciatok`
  ...

A = [...]
for i in range(0, n):
  minimum_na_zaciatok(A, i)
print(A)