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.