Aceasta e o versiune anterioară a paginii.
O stivă reprezintă o listă cu structuri de date de tipul: Last-In-First-Out (LIFO).
Un exemplu comun ar fi un teanc de cărți: tot punem cărți pe o masă, dar în momentul când vrem să le ridicăm începem cu ultima, pusă deasupra teancului.
Definim structura astfel:
struct stack{ int s[size]; int top; } st;
int st_full(){ //int st_empty{ if(st.top>=size - 1) //if(st.top==-1) return 1; else return 0; }
void push(int item){ st.top++; st.s[st.top]=item; }
int pop(){ int item; item = st.s[st.top]; st.top--; return (item); }
Observații
1.Când introducem elemente într-o stivă,trebuie să incrementăm top-ul și apoi să adăugam elementul.
2.Când ștergem un element,trebuie întâi să ștergem elementul și apoi să decrementăm top-ul.
3.O stivă poate fi implementată cu ajutorul unui vector sau cu liste înlănțuite.