Zásobník
V informatice je zásobník datová struktura používaná k ukládání kolekce objektů. Jednotlivé položky lze do zásobníku přidávat a ukládat pomocí operace push. Objekty lze získat pomocí operace pop, která odstraní položku ze zásobníku.
Když je objekt přidán do zásobníku, umístí se navrch všech dříve vložených položek. Když je položka odebrána, lze ji odebrat z horní nebo spodní části zásobníku. Zásobník, ze kterého se položky odebírají shora, se označuje jako zásobník „LIFO“ (Last In, First Out). Zásobník LIFO si můžete představit jako balíček karet, na který pokládáte jednotlivé karty a potom je odebíráte shora. V zásobníku „FIFO“ (First In, First Out) se položky odebírají zespodu. Zásobník FIFO si můžete představit jako řadu ve výdejním automatu, kde se položky vydávají v pořadí, v jakém byly do automatu vloženy.
Zásobníky mají v programování několik využití. Zásobníky LIFO lze například použít k získání nedávno použitých objektů z mezipaměti. Zásobníky FIFO lze použít k zajištění toho, aby byla data získávána v pořadí, v jakém byla zadána, což může být využito ke zpracování dat ve frontě.
Přestože zásobníky běžně používají programátoři, při používání programu si jich obvykle nevšimnete. Je to proto, že vytváření zásobníků a operace push a pop probíhají na pozadí během běhu aplikace a nejsou uživateli viditelné. Pokud však zásobníku dojde paměť, způsobí to „přetečení zásobníku“. Pokud program tuto situaci správně neošetří, může přetečení zásobníku vygenerovat chybové hlášení nebo způsobit zhroucení programu.
NOTE: Termín „zásobník“ může také označovat zásobník protokolů, který se skládá z několika síťových protokolů spolupracujících navzájem. Každý protokol je zařazen do jedné ze sedmi různých vrstev definovaných v modelu OSI.
Otestujte své znalosti