Sei sulla pagina 1di 16

COLAS

UNIDAD III

Definicin
Es una lista de elementos en las que stos se introducen por un extremo y se eliminan por otro. Los elementos se eliminan en el mismo orden en el que se insertaron. Reciben el nombre de FIFO (first in first out) Ejemplo: una cola de personas para usar un telfono pblico, el banco, el super etc.

Representacin
Por medio de Arreglos Listas Enlazadas
Cola Frente 111 222 333 Final 444 . . . 1 2 3 4 111 222333444 1 2 3 4 Frente COLA Final MAX

. . .

Max

DIFERENTES ESTADOS
Cola Frente 111 222 333 444 . . . 999 1 2 3 4 Final Frente Cola 111 222 333 444 . . . 1 2 3 4 . . . Cola Frente= Final=0 1 2 3 4

Max Final

Max

Max

A)Cola llena

A)Cola con Espacio disponible

A)Cola Vacia

OPERACIONES A INSERTAR REALIZAR


INSERTARCOLAR(COLA, MAX, FRENTE, FINAL DATO) 1. Si final < Max entonces final = final +1 cola[final] = dato si final = 1 entonces frente= 1 fin_condicional Si_no escribir desbordamiento Fin_condicional

OPERACIONES A ELIMINAR REALIZAR


ELIMINACOLA(COLA FRENTE, FINAL DATO) 1. Si frente <> 0 entonces dato= Cola[frente] si frente = final entonces frente=0 final =0 si_no frente= frente +1 fin_condicional Si_no escribir Subdesbordamiento Fin_condicional.

Ejemplo: Se insertan los elementos lunes, martes, mircoles jueves y viernes en este orden dentro de una cola, la estructura queda de la siguiente forma:
Frente lunes Martes Jueves Viernes Final Max 1 2 4 5 6 7 Max Final 1 Frente Martes Jueves Viernes 2 4 5 6 7 Final Max Frente Martes Jueves Viernes Sbado Mircoles3 1 2 4 5 6 7 Mircoles3

Mircoles3

A) Se insertaron los elementos

B) Se elimina Lunes

C) Se inserta sbado

Del ejemplo anterior realice los siguientes movimientos A) Elimine martes, mircoles, jueves y viernes DESPERDICIO B) Luego inserte domingo DE ESPACIO C) Elimine Sbado Y NO SE PUEDE HACER LA OPERACIN D) Inserte lunes
d) 1 2 3 4 5 Frente Sbado Final 6 Frente Sbado 1 2 3 4 5 Frente domingo 7 Max Final B) 6 1 2 3 4 5 6 domingo 7 Max C)

PROBLEMATICA

7 Final Max A)

Para hacer ms eficiente la estructura se reconoce de forma circular, es decir el elemento anterior al primero es el ltimo, observe la representacin

COLAS CIRCULARES

Frente< Final Representacin bsica 1 2 3 4 5

Frente> final Cola Circular 1 2 3 4 5

zz kk tt ww rr

pp

zz kk tt ww rr

Frente

Final

Final

Frente

OPERACIN DE INSETAR INSERTACIRCULAR(COLACIR, MAX, FRENTE, FINAL,


DATO) Si ((final = max y (frente =1)) o ((final +1) = frente) entonces Escribir Desbordamiento si_no Si final = max entonces final = 1 si_no final = final +1 fin_condicional Colacir[final] = dato Si frente = 0 entonces frente=1 Fin_condicional Fin_condicional

OPERACIN DE FRENTE, FINAL, DATO) ELIMINAR ELIMINACIRCULAR(COLACIR, MAX,


Si frente = 0 entonces Escribir Subdesbordamiento si_no Dato=colacir[frente] si frente = final entonces frente=0 y final = 0 si_no si frente = max entonces frente=1 si_no frente=frente+1 fin_condicional fin_condicional Fin_condicional

DOBLE COLA
Tambin se le conoce como bicola es una generalizacin de una estructura de cola simple, en una doble cola, los elementos pueden ser insertados o eliminados por cualquiera de los extremos, es decir por el frente o por el final de la cola.

REPRESENTACIN DE UNA BICOLA


Frente Final

. . .
MAX

s dos flechas indican la realizacin de las dos operac

DOBLE COLA CON ENTRADA RESTRINGIDA Nos permite realizar la eliminacin por cualquiera de los extremos, mientras que las inserciones solo se hacen por el final de la cola
Frente Final

VARIANTES

. . .
MAX

DOBLE COLA CON SALIDA RESTRINGIDA Nos permite realizar las inserciones por cualquiera de los extremos, mientras que la eliminacin solo se hacen por el frente de la cola
Frente Final

VARIANTES

. . .
MAX

APLICACIN DE COLAS
Se puede aplicar en las colas de impresin, cuando existe solo una impresora y mltiples usuarios envan la peticin de la utilizacin del servicio, formndose as las colas de impresin Otra aplicacin se da en los sistemas de tiempo compartido, varios usuarios comparten ciertos recursos como CPU, memoria, etc, los recursos se asignan a los procesos que estn en la cola de espera, suponiendo que todos tienen la misma prioridad en el orden en el que fueren ingresados a la cola.

Potrebbero piacerti anche