sábado, 18 de octubre de 2008

3.2- Colas:

Es una estructura de Datos lineal donde las eliminaciones de elementos se realizan por uno de sus extremos denominado FRONT y las inserciones de elementos se realizan por el otro extremo denominado final o Rear.

Las colas son estructuras de datos FIFO(first-in, first-out) porque el primer dato que se inserto sera el primero que saldra de la Cola.

=Operaciones en Una Cola=

1.PUSH.- Es el metodo por el cual se va a agregar un nuevo dato a la cola, tomando en cuenta la capacidad maxima de
almacenar en la estructura y las posiciones del frente y final en la cola.

Algoritmo:
Push(Cola,Frente,Final,Max,Elemento)
si Frente=0 y Final =Max-1 entonces
Imprimir "La Cola Esta Llena", y Salir
si no si Frente =Nulo(-1)  entonces
Frente=0
Final=0
si no
Final=Final+1
Cola[Final]=Elemento
Salir
NOTA:INICIALIZAR AL PRINCIPIO DEL PROGRAMA
*TAMAÑO DE LA COLA
*FRONT=-1
*REAR=-1


2.POP.- Es el Método por el cual se va a sacar el primer dato de la cola tomando en cuenta solo la posicion del frente.

Algoritmo:
Pop(Cola,Frente,Final,Maximo)
si Frente!=-1 entonces
Imprimir "Eliminando Dato", Cola[Frente]
Cola[Frente]=0
Si Frente=Final
Cola[Frente]=0
Final=-1
si no 
Frente=Frente+1
si no
Imprimir "La Cola Esta Vacía"
Salir

3.-Recorrido: Es el Método en el cual se despliega el contenido de la cola, si no hay ni un elemento en ella desplegara el 
mensaje "La Cola Esta Vacía"

Algorítmo:
Recorrido(cola,frente,final,max)
si frente !=-1 entonces
apuntador=frente
repetir mientras apuntador <=final
imprimir "elemento",cola[apuntador],"posicion",apuntador
apuntador=apuntador+1
fin del ciclo
si no
imprimir "La Cola Esta Vacía"
Salir.

4.-Busqueda: Esta metodo utiliza el recorrido para encontrar el elemento deseado y desplegar un mensaje con la posicion 
donde se encuentra siempre y cuando la busqueda sea exitosa si no desplegara el mensaje de que no encontro el elemento. En 
el caso de que no existan elementos en la cola desplegara "La Cola Esta Vacía".

Algrítmo:
Búsqueda(cola,frente,final,max)
si frente!=-1 entonces
apuntador=Frente
repetir mientras apuntador<=final
si elemento=cola[apuntador] entonces
imprimir "dato encontrado",elemento,"posicion",apuntador
y salir
si no
apuntador=apuntador+1
fin del ciclo
imprimir "dato:",elemento,"no esta en la cola"
si no
imprimir "La Cola Esta Vacía"
Salir

No hay comentarios: