presentacion de cola

6
UNIVERSIDAD PEDAGOGICA EXPERIMENTAL LIBERTADOR. INSTITUTO PEDAGOGICO BARQUISIMETO “LUIS BELTRAN PRIETO FIGUEROA” BARQUISIMETO EDO. LARA

Upload: guest39b2f2

Post on 13-Feb-2017

732 views

Category:

Business


2 download

TRANSCRIPT

UNIVERSIDAD PEDAGOGICA EXPERIMENTAL LIBERTADOR.INSTITUTO PEDAGOGICO BARQUISIMETO “LUIS BELTRAN

PRIETO FIGUEROA”BARQUISIMETO EDO. LARA

Es un método de estructuración datos usando la forma FIFO (First In, First Out - primero en entrar, primero en salir), que permite almacenar y recuperar datos.La inserción de elementos en una cola se realiza en un extremo, y la extracción desde el otro extremo.

Esperando para entrar a ver un partido de béisbol.Esperando en el cine para ver una película.Personas comprando en un supermercado.

Las colas se utilizan en sistemas informáticos, transporte y operaciones de investigación (entre otras), donde los objetivos, personas o eventos son tomadas como datos que se almacenan y se guardan mediante colas para su posterior procesamiento.

DEFINICION DE COLA

EJEMPLO DE UNA COLA

UTILIDA DE COLA

Implementación estática: se representa como un vector (arreglo) y dos números. El numero de “frente” que da la posición del primero en salir y el numero “final” me da la posición de la ultima en encontrar (FIFO).

Implementación dinámica: cuando se implementa una cola de manera dinámico, la dimensión de esto puede crecer o disminuir durante la ejecución del programa.

Características de una cola.

Cola circular 1.-) Es una lista lineal en la que el último nodo a punto al primero. Las listas circular evitan excepción en la operación que se realiza sobre ellos. No existe casos especiales, cada nodo siempre tiene uno anterior y uno siguiente.

2.-) En algunas listas circular e añade un nodo especial de sebera, de ese modo se evita la única excepción posible, le de que la lista este vacío.Cola listo1.-) es un conjunto de lentos llamados nodos en los que cada uno de ellos contiene un doto y también la dirección del siguiente nodo y el ultimo no apunto a nodo.

2.-) es las listas abierta existe un nodo especial: normalmente dinero que nuestro listo es un puntero a ese primer nodo y llamaremos a ese nodo la cabeza de la lista. Eso es porque median ese único puntero podemos acceder a todo la lista.

3.-)cuando se trabajo con cola listo con memoria denomino el puntero que se uso para acceder a la lista vale NULL, se dice que la cola esta vacía.

TIPOS DE COLA

CONST MAXIMO=20; TYPE TIPOCOLA=RECORD; DATOS:ARRAY[1..MAXIMO] OF INTEGER; FINAL:1.. MAXIMO; END; VAR COLA: TIPOCOLA; PROCEDURE INICOLA;BEGIN COLA.FINAL:=0; END;

PROCEDURE INSERTAR; BEGIN INC (FINAL); COLA.DATOS[COLA.FINAL]:=ELEMENTO; END;

CREAR

SE CREA LA COLA VACIA

CARGAR

(AÑADIR, ENTRAR, PUSH): SE AÑADE UN ELEMENTO

PROCEDURE ELIMINAR; BEGIN for k:=1 to COLA.FINAL-1 do COLA.DATOS[k]:=COLA.DATO[K+1];

(SACAR, SALIR, POP): SE ELIMINA EL ELEMENTO

ELIMINAR

PROCEDURE INSERTAR; BEGIN INC (FINAL); COLA.DATOS[COLA.FINAL]:=ELEMENTO; END;

TYPE PUNTERO:=^NODO; NODO:= RECORD; INFO:= INTEGER; SIG := PUNTERO; END;

PROCEDURE crearLista;BEGINnew(lista); lista^_nodo:= 1; lista^.siguiente=nil;END;

Se crea la cola vacía

crearPROCEDURE INSERTAR;BEGIN IF COLA_VACIA(COLA) THEN BEGIN NEW(AUX); AUX^.DATO:=ELEM; COLA.FINAL^.SIG=AUX; COLA.FINAL:=AUX; END ELSE BEGIN NEW(AUX); AUX^.DATO=ELEM; COLA.FINAL:=AUX; END; END;

(AÑADIR, ENTRAR, PUSH): SE AÑADE UN ELEMENTO

cargar

PROCEDURE Borrar; Var Igual, anterior:=COLA; Begin { se debe buscar la posición del elemento a borrar }

Actual:=l, Anterior:=l; While (actual <> nil) and (actual^.clave <> elem) do Begin Anterior:= actual; Actual:=actual^.siguiente; End; If (actual <> nil) and (actual^. Clave<> elem) then Begin If (anterior=actual) then L:=actual^. Sig { borrar el primero } Else Anterior^. Sig:= actual^.sig; Dispose(actual); End; End;

(SACAR, SALIR, POP): SE ELIMINA EL ELEMENTO

ELIMINAR