Академический Документы
Профессиональный Документы
Культура Документы
PROGRAMACION II
Colas
Oswaldo Velez-Langs, PhD
oswaldovelez@correo.unicordoba.edu.co
desencolar 3 2 5 3 1 encolar
• Posibles implementaciones:
• Lista enlazada: desencolar = eliminarPrimero y encolar= insertarAlFinal.
• Lista circular. (Ver apartado).
• Lista enlazada donde la clase Cola es un “registro” de dos punteros.
1
8/07/2019
Cola cola
Memoria dinámica
lista enlazada
desencolar 3 5
n
u
encola
2 l
l
Memoria estática
Cola ultimo
como lista circular
Memoria dinámica
Implementación
desencolar 2 encola
7 3 5
r
encolar n
Memoria dinámica
1 u
l
l
principio
fin
3
desencola
3 2 5
r
2
8/07/2019
Colas
• El modelo anteriormente expuesto se conoce como una Bicola.
• Al tipo de datos Bicola se le puede poner restricciones respecto a la
entrada o a la salida de elementos. Una Bicola con restricción de
entrada es aquella que sólo permite inserciones por uno de los dos
extremos, pero que permite retirar elementos por los dos extremos.
Una Bicola con restricción de salida es aquella que permite
inserciones por los dos extremos, pero sólo permite retirar elementos
por uno de ellos.
class NodoCola {
int dato;
NodoCola siguiente;
3
8/07/2019
4
8/07/2019
Ejercicios
• Escribir un programa en el que se generen 100 números aleatorios en el
rango –25 ... +25 y se guarden en una cola implementada mediante alguno
de los modelos ilustrados. Una vez creada la cola, el usuario puede solicitar
que se forme otra cola con los números negativos que tiene la cola original.
• Suponga que tiene ya codificados los métodos que implementan las
operaciones del TAD Cola. Escribir un método para crear una copia de una
cola determinada. Las operaciones que se han de utilizar serán únicamente
las del TAD Cola .
• Suponga que tiene ya codificados los métodos que implementan las
operaciones del TAD Cola. Escribir un método que tenga como argumentos
dos colas del mismo tipo y devuelva cierto si las dos colas son idénticas.
10
5
8/07/2019
11