

Jak pomocí cyklu setřídit čísla
Ahoj, dal by někdo tip jak pomocí cyklu seřadit pole ve kterém jsou pouze čísla?
NUM=(11 25 3 69 85 4 5 1 77 2 15)
# požadovaný výsledek
NUM=(1 2 3 4 5 11 15 25 69 77 85)
Děkuji za tip
Tak jsem něco sesmolil, nebylo to ani tak težké.
- prvním cyklem z pole jsem získal nejnižší a nejvyšší číslo (abych nehonil cyklus od 0 když budou čísla v rozmezí třeba 1000 -2000)
- druhým cyklem od nejnižšího jsem ověřil existenci v poli a pokud našel tak ho vložil do nového pole.
Díky za tipy.
Nejjednodušší metodou pro třídění je Buble sort. pro malý počet čísel je efektivní.
Jde o 2 vnorene cykly, kde prehazujes prvky v poli v pripade, kdy prvni je vetsi nez druhy.
Klidne si to zkus vymyslet.
Nejlepší je Buble sort se zkracováním. V druhé rundě nemusíme až do konce, páč je tam nejvyšší číslo už nastěhované. V další do konce -2, pak -3 atd. Až nemáme kam jet, je hotovo. Ještě může být příznak, že se to seřadilo dřív. U sálového počítače bylo řazení (nesprávně třídění) velmi často potřeba a mnoho algoritmů jsem vyrobil. Ještě větší sranda je řadit velké (tenkrát obrovské) soubory na magnetických páskách.
On i ten standardní buble sort neprojíždí vnitřním cyklem vše, ale o jednu iteraci méně než vnější cyklus.
Na učení se algoritmům je to ideální kousek kódu. Jen je třeba jej pochopit, ne tupě zkopírovat.