Pilhas

313 palavras 2 páginas
// --------------------------------------- Pilha Encadeada

#include
#include
#include
#include

// ------------------------------------- Defini‡äes

#define SUCESSO 0
#define FALTA_DE_MEMORIA 1
#define PILHA_VAZIA 2

// -------------------------------------- Tipos de Dados

typedef int TDADOS;

typedef struct nodo { TDADOS info; struct nodo *seg; } TNODO;

typedef struct { TNODO *topo; } TPILHA;

// -------------------------------------------- Prototypes

void Cria_Pilha(TPILHA *p); int Push(TPILHA *p, TDADOS dado); int Pop(TPILHA *p, TDADOS *dado); int Consulta_Pilha(TPILHA p, TDADOS *dado); void Imprime_Erro(int erro); void Exibe_Pilha(TPILHA p);

// -------------------------------------------- Programa Principal

int main(void)
{
TPILHA p; TDADOS valor; char tecla; int erro;

Cria_Pilha(&p); do { Exibe_Pilha(p); printf("[P]ush, p[O]p, [C]onsultar ou [F]im?"); do { tecla = toupper(getchar()); } while (!strchr("POCF",tecla)); switch (tecla) { case 'P': printf("Valor a ser Empilhado: "); scanf("%d",&valor); erro = Push(&p,valor); if (erro) Imprime_Erro(erro); break; case 'O': erro = Pop(&p,&valor); if (erro) Imprime_Erro(erro); else printf("Valor Desempilhado: %d, tecle algo",valor); break; case 'C': erro = Consulta_Pilha(p,&valor); if (erro) Imprime_Erro(erro); else printf("Topo: %d, tecle algo",valor); break; } } while (tecla != 'F');
}

// ---------------------------------------------- Cria_Pilha

void Cria_Pilha(TPILHA *p)
{
p->topo = NULL;
}

// ---------------------------------------------- Push

int Push(TPILHA *p, TDADOS dado)
{
TNODO *t;

t = (TNODO *) malloc(sizeof(TNODO)); if (t == NULL) return(FALTA_DE_MEMORIA); else { t->info = dado; t->seg

Relacionados

  • Pilha
    1396 palavras | 6 páginas
  • O que é uma pilha?
    847 palavras | 4 páginas
  • pilhas
    1375 palavras | 6 páginas
  • Pilhas
    3436 palavras | 14 páginas
  • Pilhas
    843 palavras | 4 páginas
  • Pilha
    2314 palavras | 10 páginas
  • pilha
    1247 palavras | 5 páginas
  • pilhas
    1166 palavras | 5 páginas
  • Pilhas
    1972 palavras | 8 páginas
  • Pilhas
    2276 palavras | 10 páginas