Vous êtes sur la page 1sur 6

Colas (FIFO) Son aquellas que solo tiene 2 operaciones, Push(Insercin) y Pop(Eliminacin).

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 operacin al igual que a las listas. Recorrido 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 algn dato en la Cola, si no es as desplegara Cola Vaca. 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 despus 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 Vaca" Salir

Diagrama:

Corrida:

Push Definicin: Push es simplemente el mtodo por el cual va agregando un Dato nuevo a la Cola tomando en cuenta el Tamao Mximo 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. Despus 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

Diagrama:

Corrida:

Pop Definicin: Pop es simplemente el mtodo 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 vaca, de otra forma lo que hace es Imprimir Eliminando el Dato. Despus se hacen una series de compara ciones para determinar la nueva posicin de Frente, de esa forma el Dato que exista 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 Vaca"

Salir

Diagrama: