60 likes | 193 Views
Estructuras de datos. M.I.A Daniel Alejandro García López. Cola. Su nombre se deriva de la metáfora de una cola de personas en una taquilla En las colas el elemento que entro en primer lugar también es el primero en salir por ello se conocen como listas FIFO (First in - First out).
E N D
Estructuras de datos M.I.A Daniel Alejandro García López
Cola • Su nombre se deriva de la metáfora de una cola de personas en una taquilla • En las colas el elemento que entro en primer lugar también es el primero en salir por ello se conocen como listas FIFO (First in - First out). • A diferencia de la Pila en las Colas las inserciones se realizan al final de la lista no al principio. Por lo que el elemento con más tiempo en la cola es el que puede ser extraído. • Las colas se usan para almacenar datos que necesiten ser procesados según el orden de llegada Sale Entra frente cola Page 2
Operaciones en Colas • Meter (al final de la cola) • Sacar (del comienzo de la cola). • Otras operaciónes usalmente incluidas son Vacia, Llena, Frente • Al igual que con las pilas, la implementación de las colas suele encapsularse, es decir, basta con conocer las operaciones de manipulación de la cola para poder usarla, olvidando su implementación interna. Page 3
Implementación con arreglos • Una cola es una colección ordenada de objetos. • Generalmente los arreglos permiten almacenar colecciones ordenadas. • desventaja: los arreglos tienen tamaño fijo. • Ejemplo en C: • struct queue{ • int elementos[MAXELEM]; //Almacena los elementos en una cola • int frente, final;//posición del frente y final de la cola • }; • typedef queue COLA; • void crearCola(COLA *c); • int Vacia(COLA *c); • int LLena(COLA *c); • int insertaCola(int valor,COLA *c); • int quitaCola(int *valor,COLA *c); Page 4
Aplicaciones • La cola de impresión: Se forma cuando se envían a imprimir varios documentos a una sola impresora. El documento impreso primero es el primero que llegó. • Implementación de un Buffer de datos. • En general, operaciones en redes de computadoras • Solicitudes a un servidor. • Transferencia de datos en un proxy. • Clientes solicitando ser atendidos por una telefonista • Simulaciones de cualquier situación real en la que se presente una “organización” tipo cola Page 5
Ejemplo • Java Applets Centre Cola Page 6