Sunteți pe pagina 1din 3

Stive

Pentru a implementa o stivă folosind conceptul de listă simplu înlănțuită, toate


operațiile cu lista simplu înlănțuită ar trebui să fie efectuate pe baza operațiilor cu
stivă LIFO (ultimul intrat, primul ieșit).
Așadar, trebuie să urmăm o regulă simplă în implementarea unei stive, care
este ultimul intrat - primul ieșit și toate operațiile pot fi efectuate cu ajutorul unei
variabile „top”. În articolul următor vor fi prezentate operațiile Pop, Push, Peek și
Display.

"All information contained in this document has been sourced from GeeksforGeeks
(www.geeksforgeeks.org)."
În implementarea stivei, o stivă conține un pointer top, care este "capul" stivei
unde inserarea și extragerea elementelor se întâmplă la începutul listei. Primul nod
are valoarea NULL în câmpul link și al doilea nod are adresa primului nod în câmpul
link și tot așa, iar adresa ultimului nod este în pointerul "top".
Operațiile pe stivă:
• push(): Inserează un element nou în stivă, adică pur și simplu inserează
un element nou la începutul listei înlănțuite.
• pop(): Returnează elementul din vârf al stivei, adică pur și simplu șterge
primul element din lista înlănțuită.
• peek(): Returnează elementul din vârf.
• display(): Afișează toate elementele din stivă.
Operația Push:
1. Se inițializează un nod;
2. Se actualizează valoarea acelui nod cu datele, adică node->data = data;
3. Acum se leagă acest nod la începutul listei înlănțuite;
4. Se actualizează pointerul top către nodul curent.
Operația Pop:
1. Mai întâi se verifică dacă există vreun nod în lista înlănțuită, dacă nu,
atunci se returneză nimic;
2. În caz contrar, se creeză un pointer numit temp către nodul de vârf și se
mută nodul de vârf înainte cu 1 pas;
"All information contained in this document has been sourced from GeeksforGeeks
(www.geeksforgeeks.org)."
3. Acum se eliberează din memorie acest nod temp.
Operația Peek:
1. Se verifică dacă există vreun nod prezent sau nu; dacă nu, se returnează
nimic. În caz contrar, se returnează valoarea nodului de vârf al listei
înlănțuite.
Operația Display:
1. Se creează un nod temporar „temp” și se inițializă cu top
2. Se traversează temp cât timp nu e NULL
3. Simultan se afișează informația din timp

"All information contained in this document has been sourced from GeeksforGeeks
(www.geeksforgeeks.org)."

S-ar putea să vă placă și