You are on page 1of 15

Mg.Ing. Yuri A.

Pomachagua Basualdo
2015
Yart

Ing Yuri A. Pomachagua Basualdo

Contenido
Definicin de Colas
Operaciones con colas
Insercin
Eliminacin

Aplicaciones

Yart

Ing Yuri A. Pomachagua Basualdo

Logro

Al finalizar esta sesin el alumno ser


capaz de Crear , insertar y eliminar colas
utilizando arreglos o listas enlazadas

Yart

Ing Yuri A. Pomachagua Basualdo

PILAS Y COLAS
Yart

Ing Yuri A. Pomachagua Basualdo

Estticas

Arrays (Vectores y Matrices)


Registros (Record)
Ficheros (File)
Lineales

Dinmicas
No lineales
Yart

Listas
Pilas
Colas

rboles
Grafos

Ing Yuri A. Pomachagua Basualdo

La cola (Queue) Es una lista lineal de


elementos en la que los nuevos elementos
se introducen por un extremo y los ya
existentes se eliminan por el otro.
Los elementos de una cola se eliminan en el
orden que ingresaron. Es decir el primer
elemento que ingresa a la estructura es el
primer elemento en salir. A esto se le conoce
con el nombre de estructuras FIFO.

Para su representacin requieren el uso


de otras estructuras de datos como el
ARREGLO o la LISTA

Yart

Ing Yuri A. Pomachagua Basualdo

Ejemplos:
Cola de personas esperando
ser atendidas
Cola para el autobs

Cola para llamar por telfono


Cola para ingresar al cine.
Cola para el teatro.

Yart

Ing Yuri A. Pomachagua Basualdo

100

100

200

200

300

300

400

10

10

100

Yart

10

1000

200

300

400

Ing Yuri A. Pomachagua Basualdo

1000

OPERACIONES
CON COLAS
Yart

Ing Yuri A. Pomachagua Basualdo

Las operaciones bsicas que se pueden llevar son:


Insertar un elemento en la Coila
Eliminar un elemento en la Cola
Operaciones Auxiliar:
Cola_vaca
Cola_llena

Las inserciones se llevarn a cabo por el FINAL de la


cola, mientras que las eliminaciones se harn por el
FRENTE
Considerando que una cola puede almacenar un
mximo nmero de elementos y que adems FRENTE
indica la posicin del primer elemento y FINAL la
posicin del ltimo.

Yart

Ing Yuri A. Pomachagua Basualdo

Cola_vacia (COLA, FRENTE, SW)


Si (FRENTE ==0)
SW = 1 (La cola est vaca)
Sino
Hacer SW = 0 (La cola no est vaca)
Fin_SI

Yart

Ing Yuri A. Pomachagua Basualdo

Cola_llena (COLA, FRENTE, MAX, SW)

Si (FInal == MAX)
SW = 1 (La cola est llena)
Sino
SW = 0 (La cola no est llena)
Fin_Si

Yart

Ing Yuri A. Pomachagua Basualdo

Insertar_Cola(COLA, MAX, FRENTE, FINAL, Dato)


Si (FINAL < MAX)
FINAL = FINAL + 1;
COLA[FINAL] = Dato;
Si (FINAL == 1)
FRENTE = 1;
Fin_Si
Sino
Escribir (Desbordamiento cola llena );
Fin_Si

Yart

Ing Yuri A. Pomachagua Basualdo

Quitar_Cola(COLA, FRENTE, FINAL, Dato)


Si (FRENTE == 0)
DATO = COLA [FRENTE]
Si (FRENTE = FINAL)
FRENTE = 0
FINAL = 0;{Indica COLA vaca}
Sino
FRENTE = FRENTE + 1
Fin_Si
Sino
Escribir ("Subdesbordamiento - Cola vaca);
Fin_Si

Yart

Ing Yuri A. Pomachagua Basualdo

IMPLEMENTAR EN EL
LABORATORIO LOS ALGORITMOS
EXPLICADOS EN CLASE

Yart

Ing Yuri A. Pomachagua Basualdo

You might also like