Programování v Pythonu
Přihlásit se
Programování v Pythonu (21/21) · 2:49

Zjednodušený Insertion Sort Zjednodušujeme WHILE cyklus funkce Insertion Sort

V komentáři pod minulým videem bylo zmíněno že jsem definoval tenhle insertion sort, u kterého jsem nutně nemusel dělat tenhle break Je to příklad toho, když něco programuješ a díky způsobu myšlení tvého mozku to vždycky nemusí dopadnout jako nejelegantnější řešení Připomínka v komentáři byla opodstatněná je tu daleko elegantnější cesta, jak to naprogramovat Když jdeme do WHILE cyklu Mám tu tenhle WHILE cyklus který se točí, pokud i je větší nebo rovné nule. Potom ale chci z cyklu vyskočit (BREAK) když proměnná není menší než i-tý element v poli Jeden z možných způsobů, protože tu jenom definuji parametry, tak při vstupu do WHILE cyklu místo podmínky IF je menší než i-tý element, udělej tohle, jinak se zastav (BREAK), co bych mohl udělat a je to vlastně daleko elegantnější způsob, WHILE i je větší nebo rovno 0 a zároveň hodnota je menší než i-tý element v poli. Takže vím, že hodnota je menší, než i-tý element pole a provedu tento kód, takže vím, že tohle bude TRUE (pravda). Automaticky můžu vzít tohlo všechno o úroveň níž a potom nemusím psát žádný ELSE ani BREAK. Tím pádem se celý program trochu zjednoduší. Ale pro klid v duši si zkusíme, jestli to opravdu funguje. Takže to uložíme a spustíme. Vypadá to...Definujeme pole, zavoláme když C se rovná 1, 5, 6, 7 2, 4, 14 a 2. Deklaraci máme hotovou, takže jdeme zkusit insertion sort. Uvidíme, co nám z toho vypadne. Vytiskneme C. A je to setříděné. Děkuji za komentář. Myslím si, že se nám to podařilo trochu zjednodušit a ukazuje, že by jste vždy měli kriticky hodnotit, zejména pokud jde o WHILE cylky, často tu může bý lepší způsob, než použití BREAK v podmínce. protože cyklus WHILE už má podmínku vlastně zabudovanou, takže je lepší použít implicitní řešení.
video