home *** CD-ROM | disk | FTP | other *** search
- // COLAG.H
- // (C) Anubis Software Agosto 1995
-
- #ifndef COLAG.H
- #define COLAG.H
-
- // --------------------------------------+
- // Librerias de BorlandC ++ |
- // --------------------------------------+
- #include <alloc.h>
-
- // --------------------------------------+
- // Librerias de Anubis Software |
- // --------------------------------------+
- #include "generica.h"
-
- // --------------------------------------+
- // Constantes definidas en la librerÃa |
- // --------------------------------------+
- #define COLAG_TODO_OK 0
- #define COLAG_MEMORIA_INSUFICIENTE 1
-
- // --------------------------------------+
- // Tipos predefinidos por la libreria |
- // --------------------------------------+
- typedef struct {
- TipoElemento *Inicio;
- TipoElemento *Fin;
- } ColaGenerica;
-
- // --------------------------------------+
- // Macros de la librerÃa |
- // --------------------------------------+
- #define ColaGenericaVacia(x) ((*x).Fin == NULL)
- #define ColaGenericaTope(x) ((*((*x).Fin)).Apuntador)
-
- // --------------------------------------+
- // Funciones de la libreria |
- // --------------------------------------+
- void ColaGenericaAnula( ColaGenerica *cola)
- {
- (*cola).Inicio = NULL;
- (*cola).Fin = NULL;
- }// end ColaGenericaAnula
-
- void ColaGenericaMete(ColaGenerica *cola, void *apuntador)
- {
- TipoElemento *elem;
- elem= (TipoElemento *) malloc(sizeof(TipoElemento));
- if( elem != NULL) {
- (*elem).Apuntador = apuntador;
- (*elem).Siguiente = NULL;
- if( ColaGenericaVacia(cola)) {
- (*cola).Fin = elem;
- (*cola).Inicio = elem;
- } else {
- (*((*cola).Inicio)).Siguiente = elem;
- (*cola).Inicio= elem;
- }// end if
- return(COLAG_TODO_OK);
- } else
- return( COLAG_MEMORIA_INSUFICIENTE);
- }// end ColaGenericaMete
-
- void *ColaGenericaSaca(ColaGenerica *cola)
- {
- TipoElemento *elem= (*cola).Fin;
- void *apuntador = (*elem).Apuntador;
- (*cola).Fin = (*elem).Siguiente;
- if ( (*cola).Fin == NULL)
- (*cola).Inicio = NULL;
- free(elem);
- return(apuntador);
- }// end ColaGenericaSaca
-
-
- #endif