Definiția Stack în Programming

Un stivă este o structură sau o listă de liste de apeluri funcționale și parametri folosiți în programarea computerului modern și arhitectura procesorului. Similar cu o grămadă de farfurii de la un restaurant tip bufet sau cafenea, elementele dintr-o stivă sunt adăugate sau eliminate din partea superioară a stivei, într-o comandă „ultimul în primul, primul în afară” sau LIFO.

Procesul de adăugare a datelor la o stivă este denumit „apăsare”, în timp ce preluarea datelor dintr-o stivă se numește „pop”. Aceasta se produce în partea de sus a stivei. Un pointer de stivă indică întinderea stivei, reglându-se pe măsură ce elementele sunt împinse sau apăsate la o stivă.

Când se apelează o funcție, adresa instrucțiunii următoare este împinsă pe stivă.

Când funcția iese, adresa este afișată din stivă și execuția continuă la acea adresă.

Acțiuni asupra stivei

Există și alte acțiuni care pot fi efectuate pe o stivă în funcție de mediul de programare.

  • Peek: Permite inspecția elementului cel mai de sus pe o stivă fără a elimina efectiv elementul.
  • Swap: de asemenea, denumit „schimb”, pozițiile celor două elemente de top ale stivei sunt schimbate, primul element devenind al doilea și cel de-al doilea devenind partea de sus.
  • Duplicat: Elementul de sus este extras din stivă și apoi împins înapoi de două ori pe stivă, creând un duplicat al elementului original.
  • Rotire: de asemenea, denumit "rolă", specifică numărul de elemente dintr-o stivă care sunt rotite în ordinea lor. De exemplu, rotirea primelor patru elemente ale unei stive ar muta elementul cel mai de sus în a patra poziție, în timp ce următoarele trei elemente se ridică într-o poziție.

Stiva este cunoscută și sub denumirea de "Last In First Out (LIFO) ".

Exemple: În C și C ++, variabilele declarate local (sau auto) sunt stocate pe stivă.