Documente Academic
Documente Profesional
Documente Cultură
Informatică
2 Ce este o stivă?
2.1 Definiție
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.
struct stack{
int s[size];
int top = -1;
} st;
Adăugarea
void push(int item){
st.top++;
st.s[st.top]=item;}
Ștergerea
int pop(){
int item;
if(st_empty()) //presupunem ca nu exista elemente
return -1; //cu valoarea -1
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 Ce este o coadă?
3.1 Definiție
struct queue{
int queue[size];
int rear = -1;
int front = 0;
}Q;
IsEmpty - întoarce 0 dacă coada este goală;1 dacă are cel puțin un element.
int Qempty(){
if(Q.front > Q.rear)
return 1;
return 0;}
int Qdelete(){
int item;
if( Qempty() ) //in acest caz, alegem o valoare de return
return -1; // ce NU poate fi confundata cu un element
//presupunem ca NU exista niciun element cu valoarea -1
else {
item = Q.queue[Q.front];
Q.front ++;
return item; }}
Exerciții:
1. Se citesc n numere naturale a1, a2, ...., an. Se cere să se realizeze programul care creează o
stivă, afișează elementele introduse și apoi extrage doar elementele pare. La sfârșit se vor
afișa elementele rămase în stivă.
2. Se introduc pe rând înt-o coadă n caractere alfabetice. Se cere să se realizeze programul care
creează coada și afișează vocalele din coadă.