Pilha de Inteiros (versão simples)

From Wiki**3

Neste exemplo, apresenta-se uma implementação simples de uma pilha de inteiros.

A pilha utiliza um vector para o armazenamento de dados.

 #define MAXVALUE 1000
 static int st_value[MAXVALUE];
 static int st_top = -1;

As funções push e pop inserem e removem items da pilha.

 void push(int value) {
   if (!is_full())
     st_value[++st_top] = value;
 }
 
 int pop() {
   if (!is_empty())
     return st_value[st_top--];
   return -1;
 }

Os predicados is_empty e is_full devolvem informação sobre o estado da pilha.

 int is_empty() { return st_top == -1; }
 int is_full()  { return st_top == MAXVALUE-1; }

Ver Também