Pilha de Inteiros (versão simples)

From Wiki**3

Revision as of 10:44, 12 November 2008 by Root (talk | contribs) (Pilha de Inteiros (versão simples) moved to Pilha de Inteiros (versão simples))

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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