Structuri de date – Stiva (LIFO – Last In First Out)

O stivă (în engleză stack) este o structură de tip LIFO (Last In First Out = ultimul intrat primul ieşit) şi este un caz particular al listei liniare în care toate inserările (depunerile -în engleză push) şi ştergerile (sau extragerile -în engleză pop) (în general orice acces) sunt făcute la unul din capetele listei, numit vârful stivei. Acest nod poate fi citit, poate fi şters sau în faţa lui se poate insera un nou nod care devine cap de stivă.

Implementarea unei structuri de date de tip stivă utilizând un tablou unidimensional se poate face astfel:

#include "stdio.h"
#include "stdlib.h"
#define STCKSIZE 50
//prototipul funcţiei de depunere în stivă
void push(int i);
//prototipul funcţiei de extragere din stivă
int pop(void);
//variabile globale; în tabloul stack simulăm stiva
int *pi, *tos, stack[STCKSIZE];
Continue reading