

Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Implementação da biblioteca de pilha sequencial
Tipologia: Notas de estudo
1 / 2
Esta página não é visível na pré-visualização
Não perca as partes importantes!


Definição da Estrutura de Dados do tipo PILHA SEQUENCIAL #define MAX 10 // Definindo a estrutura de dados typedef struct { int elemento[MAX]; // vetor que vai armazenar os elementos da pilha int topo ; // controlador do topo da pilha }pilha;
Criar pilha /* Criando uma pilha vazia */ void criaPilha( pilha *p ) { p->topo = -1; // condicao de pilha vazia }
Verificar se a pilha está vazia int pilhaVazia( pilha p ) { return ( p.topo == -1 ); }
Verificar se a pilha está cheia int pilhaCheia( pilha p ) { return ( p.topo+1 == MAX ); }
Obter o elemento que está no topo da pilha, sem retira-lo int elementoTopo( pilha p, int *valor) { if ( pilhaVazia( p ) ) return 0; *valor = p.elemento[p.topo]; return 1; }
Empilhar um elemento int empilha( pilha *p, int valor) { if ( pilhaCheia( *p ) ) return 0; (p->topo)++; p->elemento[p->topo] = valor; return 1; }
Desempilhar um elemento int desempilha( pilha *p, int *valor) { if ( pilhaVazia( *p ) ) return 0; *valor = p->elemento[(p->topo)--]; return 1; }
Imprimir elementos da pilha int imprimirElementos( pilha p ) { int i; if ( pilhaVazia( p ) ) return 0; printf("\n[ "); for (i=0; i<=p.topo; i++) printf("%d ",p.elemento[i]); printf("]"); return 1; }
Obter a quantidade de elementos na Pilha int tamanho( pilha p ) { return p.topo+1; }