Toto je starší verze dokumentu!
Obsah
Fronta a zásobník
= způsoby dočasného uložení dat v rámci programu
Základní funkce obou
push(co) - slouží k vložení dat
pop() nebo také pull() - slouží k získání dat, které jsou právě na řadě
Fronta
(anglicky queue)
Funguje na principu FIFO (first in first out), to znamená, že si frontu můžeme představit třeba jako frontu na úřadu práce. Lidé (data), kteří příjdou dříve, přijdou na řadu dříve(jsou vrácena dříve).
Metody Implementace
Pomocí statického pole
Řešení pomocí statického pole funguje tak, že si vytvoříme pole a v rámci funkce push dáváme data do pole a ve funkci pop vždy vezmeme první položku a ostatní posuneme o jedno místo dopředu.
Nevýhodou tohoto způsobu implementace je, že jsme omezení velikostí námi vytvořeného pole. Výhodou tohoto řešení je, že vždy za všech okolností víme, kolik nám zbývá místa na další data.
Pomocí ukazatelů
Metodu řešení pomocí ukazatelů můžete vidět na níže uvedeném diagramu. Výhoda tohoto řešení je zároveň i jeho nevýhodou, jsme totiž schopni přidávat do fronty příspěvky dokud máme místo v paměti, nevýhodou je, že při špatné implementaci může dojít k přehlcení nebo až přetečení paměti, což může vést k nestabilitě systému.