Pilha estatica de inteiros

Páginas: 2 (263 palavras) Publicado: 22 de abril de 2013
#include
#define MAX_ELEMENTOS 10

typedef struct {
int itens[MAX_ELEMENTOS];
int topo;
} t_pilha;

t_pilha p;
int novoValor;
void cria_pilha() {
p.topo = -1; // -1significa pilha vazia
}
int vazia() {
return (p.topo == -1 ? 1 : 0);
}
int cheia() {
return (p.topo == (MAX_ELEMENTOS - 1) ? 1 : 0);
}
void push(int e) {
p.topo++; // incrementa variáveltopo
p.itens[p.topo] = e; // coloca o elemento e no topo da pilha
}

void pop() {
if (vazia()) {
printf("/n Pilha vazia /n");
return;
}
printf("Elemento %deliminado com sucesso", p.itens[p.topo]);
p.topo--; // decrementa uma posição do topo.
}
void mostra_topo() {
if (vazia()) {
printf("\n Pilha vazia! \n");
return;
}printf("\n+++++ TOPO DA PILHA +++++\n");
printf("%d", p.itens[p.topo]);
}
void mostra_tudo() {
int i;
if (vazia()) {
printf("\n Pilha vazia! \n");
return;
}printf("\n+++++ TODOS ELEMENTOS+++++\n");
for (i = p.topo; i >= 0; i--) {
printf("%d\n", p.itens[i]);
}
}
int menu() {
int opcao;
printf("\n\n Opcoes possiveis \n");printf("0 - Sair\n");
printf("1 - Inserir\n");
printf("2 - Remover\n");
printf("3 - Mostrar topo\n");
printf("4 - Mostrar tudo\n");
printf("\nO que deseja fazer? ");scanf("%d", &opcao);
return opcao;
}
void lerDados() {
printf("\n\n=== Lendo os dados ===\n");
printf("Digite o valor a ser inserido na pilha: ");
scanf("%d", &novoValor);
}int main() {
int opcao;
cria_pilha();
do {
opcao = menu();
switch (opcao) {
case 0:
break;
case 1: // inseririf (cheia()) {
printf("\n Pilha cheia! \n");
break;
}
lerDados();
push(novoValor);
break;...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Pilha estatica de inteiros
  • Pilhas, Alocação Sequencial e Estática
  • Alocação estática de memória. listas, filas e pilhas.
  • estatica
  • ESTÁTICA
  • Estatica
  • Estatica
  • Estática

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!