Stiva e un tip special de listă la care toate inserțiile și suprimările se execută la un singur capăt, numit vârful stivei. Stiva e o listă tip LIFO (Last In First Out).
Asupra tipului abstract de date stivă sunt definiți următorii cinci operatori:
1.INIȚIALIZARE(S) - face stiva S vidă ( inițializează lista corespunzătoare )
2.VIRFST(S) - furnizează elementul din vârful stivei ( deci primul nod al listei )
3.POP(S) - suprimă elementul din vârful stivei
4.PUSH(x,S) - inserează elementul x în vârful stivei pe care îl actualizează
5.STIVID(S) - funcție booleană ce e adevărată dacă stiva este vidă.
Cele mai avantajoase implementări ale structurii de date stivă sunt cele cu ajutorul tipului pointer și al tipului tablou.
Despre ultimul element pus pe stivă se spune că este vârful stivei, despre primul că este baza stivei.
Vârful stivei se modifică de fiecare dată când punem/eliminam un element din stiva.
Cu alte cuvinte accesul este permis doar la vârful stivei:
· un element se poate pune în stivă numai după elementul aflat în vârful stivei şi după aceasta operație el ajunge vârful stivei;
· se poate scoate de pe stiva numai elementul aflat în vârful stivei şi după aceasta operație în vârful stivei rămâne elementul care a fost pus pe stiva înaintea lui.
Stiva poate fi implementată atât static, folosindu-ne de un vector unidimensional cât şi dinamic, folosindu-ne de o listă simplu înlănțuită.
Niciun comentariu:
Trimiteți un comentariu