Buscar

Tipo Abstrato de Dados (TAD) Pilha Dinâmica em Linguagem C

Prévia do material em texto

/* 
 * File: TADPilha.h
 * Author: joao andre martins
 *jamdes@hotmail.com
 * Created on 6 de Fevereiro de 2016, 10:02
 */
#ifndef TADPILHA_H
#define	TADPILHA_H
#include"stdio.h"
#ifdef	__cplusplus
extern "C" {
#endif
 struct No {
 int info;
 struct No *prox;
 };
 typedef struct No No;
 //--------------------------------------------------------------------------
 void init(No **pilha);
 void push(No **pilha, int info);
 void pop(No **pilha, int *info);
 char isEmpty(No *pilha);
 //--------------------------------------------------------------------------
 // Recebe um ponteiro para uma pilha e Inicializa a pilha
 void init(No **pilha) {
 *pilha = NULL;
 }
 // recebe um ponteiro para uma pilha e uma informação a a insere
 void push(No **pilha, int info) {
 No *nova = (No*) malloc(sizeof (No));
 nova->info = info;
 nova->prox = *pilha;
 *pilha = nova;
 }
 // recebe um ponteiro para uma pilha e o endereço para um inteiro com parametros
 // retira o elemento da pilha para o parametro inteiro
 void pop(No **pilha, int *info) {
 if (*pilha != NULL) {
 No *aux = *pilha;
 *info = (*pilha)->info;
 *pilha = (*pilha)->prox;
 free(aux);
 }
 }
 // recebe um ponteiro para uma pilha e retorna 1 se for vazia
 char isEmpty(No *pilha) {
 return pilha == NULL;
 }
//--------------------------------------------------------------------------
#ifdef	__cplusplus
}
#endif
#endif	/* TADPILHA_H */

Continue navegando