Implementacion de una cola mediante lista enlazada circular
/* Implementación de una cola mediante lista enlazada circular */ /* ----------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> /* declaracion */ /* ----------- */ struct tcola { int clave; struct tcola *sig; }; /* prototipos y codificación */ /* ------------------------- */ void crear(struct tcola **cola) { *cola = NULL; } int vacia(struct tcola *cola) { return (cola == NULL); } void encolar(struct tcola **cola, int elem) { struct tcola *nuevo; nuevo = (struct tcola *) malloc(sizeof(struct tcola)); nuevo->clave = elem; if (*cola == NULL) nuevo->sig = nuevo; else { nuevo->sig = (*cola)->sig; (*cola)->sig = nuevo; } (*cola) = nuevo; } void desencolar(struct tcola **c1, int *elem) { struct tcola *aux; *elem = (*c1)->sig->clave; if ((*c1) == (*c1)->sig) { free(*c1); *c1 = NULL; } else { aux = (*c1)->sig; (*c1)->sig = aux->sig; free(aux); } } /* Programa de prueba */ /* ------------------ */ #include <stdio.h> int main(void) { struct tcola *cola; int elem; crear(&cola); if (vacia(cola)) printf("nCola vacia!"); encolar(&cola, 3); desencolar(&cola, &elem); return 0; }
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C [c]Código en C[/c]
- Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].
De esta manera el código coloreas el código.
Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.
¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)