Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: pilas.h
- * Author: Pablo
- *
- * Created on 25 de mayo de 2014, 01:49 AM
- */
- #ifndef PILAS_H
- #define PILAS_H
- typedef int TElemento;
- typedef struct nodo{
- TElemento elem;
- struct nodo* ptrSig;
- }TNodo;
- typedef struct{
- TNodo *cima;
- }TPila;
- void crearPila(TPila *);
- void apilar(TPila *, TElemento);
- void desapilar(TPila *);
- TElemento cima(TPila *);
- int esVacia(TPila *);
- void imprimirPila(TPila *);
- #endif /* PILAS_H */
- #include <stdio.h>
- #include <stdlib.h>
- #include "pilas.h"
- void crearPila(TPila *pila){
- pila->cima = NULL;
- }
- void apilar(TPila *pila, TElemento elem){
- TNodo *ptrNuevo;
- ptrNuevo = (TNodo*)malloc(sizeof(TNodo));
- ptrNuevo->elem = elem;
- ptrNuevo->ptrSig = NULL;
- if (pila->cima == NULL){
- pila->cima = ptrNuevo;
- }else{
- ptrNuevo->ptrSig = pila->cima;
- pila->cima = ptrNuevo;
- }
- }
- void desapilar(TPila *pila){
- if (pila->cima != NULL){
- TNodo *ptrEliminar;
- ptrEliminar = pila->cima;
- pila->cima = pila->cima->ptrSig;
- free(ptrEliminar);
- }else{
- printf("No se puede desapilar de una pila vacia\n");
- }
- }
- TElemento cima(TPila *pila){
- if (pila->cima != NULL){
- return(pila->cima->elem);
- }else{
- printf("No hay cima en una pila vacia\n");
- }
- }
- int esVacia(TPila *pila){
- return (pila->cima == NULL);
- }
- void imprimirPila(TPila *pila){
- TNodo *ptrRec;
- ptrRec = pila->cima;
- while (ptrRec != NULL){
- printf(" %d ",ptrRec->elem);
- ptrRec = ptrRec->ptrSig;
- }
- printf("NULL\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement