Pilha estatica de inteiros

263 palavras 2 páginas
#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; // -1 significa 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ável topo 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 %d eliminado 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: // inserir if (cheia()) { printf("\n Pilha cheia! \n"); break; } lerDados(); push(novoValor); break;

Relacionados

  • Pilha estatica de inteiros
    263 palavras | 2 páginas
  • Ed-variaveis
    2090 palavras | 9 páginas
  • Estrutura de dados
    2179 palavras | 9 páginas
  • artes plasticas
    940 palavras | 4 páginas
  • Atps 3° semestre fac 2
    4600 palavras | 19 páginas
  • trabalho
    1165 palavras | 5 páginas
  • Atps estrutura de dados
    2040 palavras | 9 páginas
  • Computação
    2707 palavras | 11 páginas
  • Ciencia da computaçao
    2023 palavras | 9 páginas
  • Atps estrutura de dados
    2044 palavras | 9 páginas