home *** CD-ROM | disk | FTP | other *** search
- // PILAG.H
- // (C) Anubis Software Agosto 1995
-
- #ifndef PILAG.H
- #define PILAG.H
-
- // -------------------------------------+
- // Inclusión de librerias BorlandC ++ |
- // -------------------------------------+
- #include <alloc.h>
-
- // -------------------------------------+
- // Inclusión de librerias Anubis Sof |
- // -------------------------------------+
- #include "generica.h"
-
- // -------------------------------------+
- // Constantes de la librería |
- // -------------------------------------+
- #define PILAG_MEMORIA_INSUFICIENTE 1
- #define PILAG_TODO_OK 0
-
-
- // -------------------------------------+
- // Tipos Predefinidos de la librería |
- // -------------------------------------+
- typedef TipoElemento *PilaGenerica;
-
-
- // --------------------------------------+
- // Macros de la libreria |
- // --------------------------------------+
- #define PilaGenericaAnula(x) (x=NULL)
- #define PilaGenericaTope(x) ((*x).Apuntador)
- #define PilaGenericaVacia(x) (x == NULL)
-
- // ---------------------------------------+
- // Implementacion de las funciones |
- // ---------------------------------------+
- WORD PilaGenericaEmpila( PilaGenerica *pila, void *apuntador)
- {
- TipoElemento *elem;
- elem = (TipoElemento *) malloc(sizeof(TipoElemento));
- if(elem == NULL)
- return(PILAG_MEMORIA_INSUFICIENTE);
- (*elem).Siguiente = *pila;
- *pila= elem;
- (*elem).Apuntador = apuntador;
- }// end PilaGenericaEmpila
-
- void PilaGenericaDesempila( PilaGenerica *pila)
- {
- TipoElemento *elem = *pila;
- *pila= (*(*pila)).Siguiente;
- free(elem);
- }// end PilaGenericaDesempila
-
- #endif