Definice a význam Stack

Co je Stack?

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á položku ze zásobníku odstraní.

Při přidání objektu do zásobníku je tento objekt umístěn na vrchol všech dříve vložených položek. Při odebírání položky může být odebrána buď z horní, nebo z dolní části zásobníku. Zásobník, ve kterém jsou položky odebírány shora, je považován za “ LIFO„. (Last In, First Out) zásobník. Zásobník LIFO si můžete představit jako balíček karet, na který se pokládají jednotlivé karty a poté se z něj vybírají karty shora. V “ FIFO“ (First In, First Out) zásobníku jsou položky odebírány zdola. Zásobník FIFO si můžete představit jako řadu v prodejním automatu, kde jsou položky vydávány v pořadí, v jakém byly do automatu vloženy.

Zásobníky mají v dojíždějícím programování několik aplikací. Zásobníky LIFO lze například použít k načítání nedávno použitých objektů, a to z cache. FIFO zásobníky lze použít k zajištění načítání dat v pořadí, v jakém byla zadána, což lze využít při zpracování dat v queue.

Ačkoli 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 se provádějí na pozadí, zatímco aplikace běží, a nejsou pro uživatele viditelné. Pokud však zásobníku dojde paměť, dojde k „přetečení zásobníku“. Pokud se s ním program správně nevypořádá, může přetečení zásobníku vygenerovat chybovou zprávu nebo způsobit pád programu.

POZNÁMKA:Termín „zásobník“ může také odkazovat na protokolový zásobník, který se skládá z několika síťových protokolů, které spolupracují. Každý protokol je zařazen do jedné ze sedmi různých vrstev definovaných v modelu OSI.

Definice Stack na této stránce je původní definice na SharTec.eu. Pokud chcete na tuto stránku odkázat, nezapomeňte uvést zdroj článku.

Cílem webu SharTec.eu je srozumitelně vysvětlit počítačovou terminologii. Snažíme se o jednoduchost a přesnost každé definice, kterou zveřejňujeme. Pokud máte připomínky k definici jazyka Stack nebo chcete navrhnout nový technický termín, kontaktujte nás.

Cieľom stránky SharTec.eu je vysvetľovať počítačovú terminológiu zrozumiteľným spôsobom. Pri každej uverejnenej definícii sa snažíme o jednoduchosť a presnosť. Ak máte pripomienky k definícii jazyka Stack alebo chcete navrhnúť nový technický termín, kontaktujte nás.