Stiva. Introducere.


Stiva – listă liniară simplu înlănţuită de tipul ultimul venit, primul servit 
(Last In First Out - LIFO)

Stiva (engl. stack) este o listă unidirecţională cu anumite restricţii în ceea ce priveşte operaţiile care pot fi efectuate asupra ei. De exemplu dacă aşezăm mai multe cărţi una peste cealaltă, creăm cu ele o listă. Dacă dorim să scoatem o carte din această listă trebuie să luăm întâi rând pe rând toate cărţile aşezate deasupra ei. Prin urmare, într-o asfel de listă ultimul element adăugat listei va fi primul element la care avem acces şi pe care putem să-l extragem sau să-l ştergem.
Adică, stiva este o listă unidirecţională cu proprietatea că operaţiile de introducere şi extragere a elementelor se fac la un singur capăt al ei.
De aici provine şi denumirea de stivă sau listă de tip LIFO.


Operaţiile de bază ce pot fi efectuate asupra unei stive sunt:

-          adăugarea unui element în vârful stivei;

-          extragerea sau ştergerea elementului aflat în vârful stivei.

Operaţiile mai sus amintite se efectuează la un singur capăt al stivei. Astfel, pentru memorarea adresei unei astfel de liste este suficient un pointer. În mod natural reprezentăm stiva pe verticală iar capătul la care se efectuează operaţiile de adăugare şi extragere sau ştergere îl vom numi vârful stivei

Stiva trebuie limitată la bază de pointerul nil (sau NULL pentru c++). În cazul în care stiva este vidă, pointerul Stiva va conţine pointerul nil (sau NULL pentru c++).

Poziţia ocupată în stivă de ultimul element introdus poartă numele de vârf. O stivă fără nici un element se numeşte stivă vidă.


  Reprezentarea unei stive ce conţine un singur nod cu informaţia 173:

Reprezentarea unei stive ce conţine noduri cu informaţiile: 173, 508, 710, 986, 169, 837.


Din figura de mai sus se observă legăturile dintre nodurile stivei.


Niciun comentariu:

Trimiteți un comentariu