Colas
Una cola es una estructura de datos caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por elotro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. El tipo cola representa la idea que tenemos decola en la vida real. La cola para subir al autobús está compuesta de elementos (personas), que dispone de dos extremos comienzo y fin. Por el comienzo se extraerá un elemento cuando haya comprado elbillete para su viaje, y si llega una nueva persona con intención de usar el autobús, tendrá que colocarse al final y esperar que todos los elementos situados antes que él abandonen la cola.
Ladefinición de la COLA seria:
[img][img]http://img507.imageshack.us/img507/4331/nodo4xc6.th.jpg[/img][/img]
Crear una COLA
IF P=NIL
BEGIN
P:=CREAR_NODO();
P.INFO:=DATO;
P.DIR:=NIL; END;
ELSE
BEGIN
Q:=P;
WHILE Q.DIR <> NIL DO
Q:=Q.DIR;
S:= CREARNODO()
S.INFO:=DATO;
Q.DIR:=S;
Q:=S:=NIL;
END;
IMPLEMENTACION
1.- FORMA ESTATICA: Se representa como unvector(arreglo) y dos números el numero de frente me da la posición del primero en salir y el numero final me da la posición de la ultima en encontrar. (FIFO).
CONST MAXIMO;
TYPETIPOCOLA:=RECORD;
DATOS:ARRAY[1.. MAXIMO]OF …;
FRENTE, FINAL =1.. MAXIMO;
END
VAR
COLA, TIPOCOLA;
PROCEDURE INICOLA( VAR COLA: TIPOCOLA);
BEGIN
COLA.FRENTE=1
COLA.FINAL=1
END
Para verificarque una cola este vacía Habrá que ver si el frente es igual al final.
COLA VACIA
PROCEDURE COLA_VACIA( VAR COLA: TIPOCOLA);BOOLEAN
BEGIN
COLA.VACIA:=COLA.FRENTE:=COLA_FINAL;
END
COLALLENA
FUNCTION COLA_LLENA(COLA:TIPOCOLA):BOOLEAN;
VAR
SIG:1.. MAXIMO
BEGIN
IF COLA.FINAL=MAXIMO THEN
COLA.LLENA:=TRUE
ELSE
SIG:=COLA.FINAL+1
ENDIF
2.- FORMA DINAMICA:
TYPE...
Regístrate para leer el documento completo.