Son aquellas que solo tiene 2 operaciones,
Push(Inserción) y Pop(Eliminación). Push solo se puede efectuar por un extremo
llamado Frente y Pop por el extremo Llamado Final. Sin Embargo se le pueden
aplicar todas las operación al igual que a las listas.
Recorrido
Definición:
Ya que las colas son FIFO(First in - First
Out) el Recorrido se hace sacando el primer dato que se inserto hasta que
llegue al extremo llamado Final.
Detalle:
En un principio se compara para saber si tiene
algún dato en la Cola, si no es así desplegara “Cola Vacía…”. De otra forma
compara si Frente es mayor o igual a Final, de esta forma simplemente hace un
Recorrido lineal como los anteriores. De otra forma usar Max como bandera para
saber cuando empezar a contar de 0 a Final (Ya que sabemos que el Frente
después del nodo Final).
Algoritmo:
Recorrido(Cola, Frente, Final, Max)
Si Frente ≠ Nulo
Si Frente ≤ Final, entonces:
Apuntador <-- Frente
Repetir mientras Apuntador ≤ Final
Imprimir Cola[Apuntador]
Apuntador <-- Apuntador + 1
Fin del ciclo
Si no, si Frente > Final, entonces:
Apuntador <-- Frente
Repetir mientras Apuntador ≠ Final
Si Apuntador > Max, entonces:
Apuntador <-- 0
Imprimir Cola[Apuntador]
Apuntador <-- Apuntador + 1
Fin del ciclo
Si no:
Imprimir "Cola Vacía"
Salir
ama:
Corrida:
Push
Definición:
Push es simplemente el método por el cual va
agregando un Dato nuevo a la Cola tomando en cuenta el Tamaño Máximo de
Capacidad (Max), el Frente y el Final de la Cola.
Detalle:
Primer nos aseguramos que la Cola no este
Llena, para que de esta manera sea capaz de insertar un Elemento nuevo. Si no
desplegara Cola Llena. Después compara para determinar las posiciones de Frente
y Final y de esta manera poder moverlo con libertad. Ya que determina los
valores de Frente y Final, nos Indica que Cola[Final] tomara el valor de
Elemento.
Algoritmo:
Push(Cola, Frente, Final, Max, Elemento)
Si Frente = 0 y Final =9, o si Frente = (Final
+ 1)
Imprimir "Cola Llena" y Salir
Si Frente = Nulo
Frente <-- 0
Final <-- 0
Si no, si Final = Max
Final <-- 0
Si no:
Final <-- Final + 1
Cola[Final] = Elemento
Salir
corrida:
Pop
Definición:
Pop es simplemente el método por el cual va
sacando el primer Dato de la Cola (esto se comprueba ya que las Colas son
FIFO), para esto toma en cuenta el Frente.
Detalle:
Compara para determinar si la cola esta vacía,
de otra forma lo que hace es Imprimir “Eliminando el Dato…”. Después se hacen
una series de comparaciones para determinar la nueva posición de Frente, de esa
forma el Dato que existía en Frente es Eliminado.
Algoritmo:
Pop(Cola, Frente, Final, Max)
Si Frente ≠ Nulo
Imprimir "Eliminado el Dato..."
Si Frente = Final
Frente = Nulo
Final = Nulo
Si no, si Frente = Max
Frente = 0
Si no:
Frente <-- Frente + 1
Si no:
Imprimir "Cola Vacía"
Salir
diagrama:
corrida:
Búsqueda
Definición:
Este método usa el recorrido para encontrar
Elemento y desplegar un mensaje si la búsqueda es exitosa.
Detalle:
El algoritmo usa básicamente la misma
estructura del Recorrido, la única diferencia es que compara cada uno de los
Datos con Elemento, de esta forma se da cuenta si este Dato existe en la Cola.
Algoritmo:
Busqueda(Cola, Frente, Fin, Max, Elemento)
Si Frente ≠ Nulo
Si Frente ≤ Final, entonces:
Apuntador <-- Frente
Repetir mientras Apuntador ≤ Final
Si Elemento = Cola[Apuntador]
Imprimir "Dato encontrado..." y
Salir
Apuntador <-- Apuntador + 1
Fin del ciclo
Si no, si Frente > Final, entonces:
Apuntador <-- Frente
Repetir mientras Apuntador ≠ Final
Si Apuntador > Max, entonces:
Apuntador <-- 0
Si Elemento = Cola[Apuntador]
Imprimir "Dato encontrado..." y
Salir
Apuntador <-- Apuntador + 1
Fin del ciclo
Imprimir "Dato no encontrado..."
Si no:
Imprimir "Cola Vacía"
Salir
diagrama:
corrida:
Eliminacion
Definición:
Este método busca un Dato dentro de la cola y
lo elimina.
Detalle:
Este Método es la mezcla de todos en uno,
Recorrido, Búsqueda, Pop y Push. Debido que a busca el Dato haciendo un
Recorrido, y en el proceso copia todos los Datos que no son en un Arreglo Temp,
para después meterlos a la Cola original, esto lo hace hasta encontrar el dato
deseado que posteriormente lo Elimina.
Diagrama:
corrida:
No hay comentarios:
Publicar un comentario