Unelte utilizator

Unelte site


laboratoare:laborator-03

Aceasta e o versiune anterioară a paginii.


Laborator 03: Stive & Cozi


1 Obiectivele laboratorului

  • Înțelegerea conceptului de funcționare si implementarea de stive și cozi.
  • Implementarea unor funcții individuale de lucru cu acestea.


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.

  1. poza stiva#

2.2 Operații cu stive

Definim structura astfel:

struct stack{
     int s[size];
     int top;
} st;
  • Verificăm dacă stiva e plină sau goală
int st_full(){ //int st_empty{
     if(st.top>=size - 1)  //if(st.top==-1)
          return 1;
     else
          return 0;
}     
  • Adăugarea
void push(int item){
     st.top++;
     st.s[st.top]=item;
}
  • Ștergerea
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.

laboratoare/laborator-03.1487088901.txt.gz · Ultima modificare: 2017/02/14 18:15 de către sebastian.cancel