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

Presentacion De Cola

Embed Size (px)

Citation preview

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