Está en la página 1de 5

1 ESTRUCTURA DE DATOS

TEMA 3
COLAS
(1ra Parte)

1. INTRODUCCIÓN
Las Colas son estructuras muy utilizadas en la vida cotidiana y también en
la resolución de problemas en programación. Esta estructura, al igual que
las pilas, almacena y recupera sus elementos atendiendo a un orden
estricto.

Ejemplos de colas

2. CONCEPTO DE COLA
Una cola (QUEUE) es una estructura de datos lineal y dinámica, sigue el
principio FIFO “First In, First Out”, (Primero en Entrar, Primero en Salir). El
almacenamiento de elementos se realiza por un extremo y la eliminación,
por el otro. Es decir, el elemento con más tiempo en la cola es el que puede
ser extraído.

En una cola se almacena elementos en una. Un elemento se inserta por la


parte final (rear) de la lista y se elimina por la parte inicial (front) de la lista.

LIC. ROSA IRENE LÓPEZ LOZA 1


2 ESTRUCTURA DE DATOS

El servicio de atención a clientes en un almacén es un ejemplo típico de cola.

Al igual que en las pilas, se debe tener el control de la cola, tomando en


cuenta de que si se quiere extraer un elemento de la cola se debe asegurar
de que no esté vacía, o si se quiere insertar un elemento se debe asegurar
de que la cola no esté llena, estas dos acciones se deben desarrollar al hacer
operaciones con una cola.

4. IMPLEMENTACIÓN POR MEDIO DE UN ARREGLO


UNIDIMENSIONAL

Al igual que las pilas, las colas se pueden implementar utilizando un array
unidimensional.

La implementación se realiza utilizando un arreglo de tamaño fijo, para


almacenar los elementos de la cola, una variable de tipo entero: front que

LIC. ROSA IRENE LÓPEZ LOZA 2


3 ESTRUCTURA DE DATOS

apunta a la cabeza de la cola y otra variable también de tipo entero: rear


que apunta al primer espacio vacío que sigue al último elemento de la cola.

 Entrada de elementos:

Cuando un elemento se añade a la cola, se verifica si el apuntador se


encuentra en una posición válida, entonces se agrega el elemento y se
incrementa el apuntador rear en 1.

Algoritmo

1. Verificar si la cola no está llena.


2. Almacenar elemento en la posición que apunta rear.
3. Incrementar en 1 el valor de rear.

 Salida de elementos:

Cuando un elemento se elimina de la cola, se verifica si la cola no está


vacía y, luego se saca el elemento de la posición que indica el apuntador
front, y se incrementa en 1.

 Algoritmo

1. Verificar si la cola no está vacía.


2. Leer el elemento de la posición que apunta front.
3. Incrementar en 1 el valor de front.

LIC. ROSA IRENE LÓPEZ LOZA 3


4 ESTRUCTURA DE DATOS

4.1. Operaciones

Las operaciones que aplican a una cola son:

Operaciones Descripción
Crear Cola Inicia la cola como vacía
Enqueue Añade un nuevo elemento al final de la cola.
Dequeue Saca el primer elemento de la cola.
Cola vacía Comprueba si la cola no tiene elementos.
Cola llena Comprueba si la cola está llena de elementos.

Problema: La cola puede desbordarse teniendo celdas libres.

El avance lineal de front y rear, deja huecos por la izquierda del arreglo.
Llega a ocurrir que fin alcanza el índice más alto del array, sin que puedan
añadirse nuevos elementos, sin embargo, hay posiciones libres a la
izquierda de frente.

Solución:

Cada vez que se saca un elemento, se debe mantener fijo en 0 el valor de


front y desplazar todos los demás elementos una posición.

LIC. ROSA IRENE LÓPEZ LOZA 4


5 ESTRUCTURA DE DATOS

Ejemplo.

PRÁCTICA N° 1
Implementar un programa en consola que, mediante un MENÚ, permita al
usuario manipular la cola Q, desarrollando las operaciones
correspondientes. Es decir, con las siguientes opciones:

COLA SIMPLE
===================================
1. Añadir un elemento a la cola (ENQUEUE)
2. Mostrar elementos de la cola
3. Sacar un elemento de la cola (DEQUEUE)
4. Cantidad de elementos en cola
0. Salir

Consideraciones a tomar en cuenta:

1. El programa debe considerar el problema para que no haya


desbordamiento tendiendo celdas libres.
2. Solo debe aceptar números enteros del 1 al 99.
3. Validar para que, si el usuario introduce una opción que no existe o
un valor erróneo, el programa debe mostrar un mensaje y debe
continuar.

LIC. ROSA IRENE LÓPEZ LOZA 5

También podría gustarte