Download - Clase colas

Transcript
Page 1: Clase colas

Fondo

E CD

Frente

Por aquí entran

Por aquí salen

Frente

C ED

Fondo

Por aquí entran

Por aquí salen

Una Cola es una estructura en donde cada elemento se suprime por el frente y son insertados por el fondo. Una Cola es el tipo FIFO (First In First Out), esto implica que el primer elemento en entrar será el primero en salir.

Colas

Page 2: Clase colas

ACB

A

A

BC

A

Arrancamos con la cola vacía, sin

elementos.

En la cabecera no vemos elemento alguno.

Ya tenemos un primer

elemento agregado a la

cola.Podemos ver el elemento A en la cabecera (al

frente).

Al agregar B, éste queda detrás de A.

A, el primer elemento agregado,

sigue al frente; B queda oculto e

inaccesible.

Lo mismo pasa con C, que queda encolado

detrás de B.C deberá esperar a que

se desencolen A y B para llegar al frente.

B, ahora, queda en la cabecera, mientras C

sigue oculto tras éste, e inaccesible.

Podemos seguir así hasta vaciar la cola.

Pero, si viniese nuevamente A y lo agregásemos a la cola, ¿en qué posición quedaría?

A

Quedaría al final,

encolado detrás de C.

Al extraer el primer elemento insertado, B pasa

al frente.

Funcionamiento de una Cola

Page 3: Clase colas

Estados de una Cola

Cola Vacía

a) En la operación Mostrar

SI ULTIMO=0 ENTONCES IMPRIMIR(“La Cola está vacia”) SINO IMPRIMIR(“Mostrar los elementos de la Cola”) FIN-SI

b) En la operación Eliminar

SI ULTIMO=PENULTIMO ENTONCES IMPRIMIR(“La Cola está vacia”)SINO IMPRIMIR(“Eliminar elemento de la Cola”)FIN-SI

Page 4: Clase colas

Estados de una ColaCola Llena

Sucede cuando no hay más lugar para almacenar elementos

SI ULTIMO>MAX ENTONCES IMPRIMIR(“La Cola está llena”) SINO IMPRIMIR(“Hay espacio en la Cola…se puede insertar elemento”) FIN-SI

Algoritmo Insertar

//Ultimo, MAX, Cola (arreglo unidimensional)Insertar()SI Ultimo=MAX ENTONCES IMPRIMIR(“La cola está llena”)Sino IMPRIMIR(“Inserte un elemento en la Cola”) LEER(Cola(Ultimo)) Ultimo=Ultimo+1FIN-SIFIN-Funcion Insertar

Page 5: Clase colas

Algoritmo Mostrar

SI Ultimo=0 ENTONCES IMPRIMIR(“COLA ESTA VACIA”)DE OTRO MODO PARA Z=PENULTIMO,ULTIMO-1,1 IMPRIMIR(Cola(Z)) FIN-PARAFIN-SI

Algoritmo Eliminar

// Ultimo, Penultimo, Cola – arreglo entero SI Ultimo=Penultimo ENTONCES IMPRIMIR(“La cola está vacía”)SINO Penultimo=Penultimo+1 IMPRIMIR(“Elemento eliminado de la Cola”) FIN-SIFIN-Funcion Eliminar