Colas estáticas
Colas circulares
 
Colas dinámicas
Administrador
Plan de Curso
Modulo I
Unidad1
Unidad2
Modulo II
Unidad3
Unidad4
Modulo III

Unidad5

Unidad6
Foros
Chat

Blogs

Pascal

Descarga

Firefox

Email

Link

Las colas se pueden simular mediante arrays y dos variables numericas (frente, final), deberos si el lenguaje lo permite, implementarla mediante puntero. En las colas las elimininaciones se realizarán por el extremo denominado frente y las inserciones por el final.

Declaración

Tipo

puntero_a nodo:punt

registro :tipo_elemento

fin_registro

registro:nodo

tipo_elemento:elemento

punt:sig

fin_registro

Var

punt :frente, final

tipo_elemento:elemento

Cuando no hay elemento en la cola

frente « -- nulo .......final « -- nulo deduciendo

Los subprogramas a usar son;

Inicializar o Crear;

Procedimiento Inicializar (S punt:frente,final)

inicio

frente « -- nulo

final « -- nulo

fin_procedimiento


Procedimiento meter (E/S punt:final; S punt:frente;

E tipo_elemento :elemento)

var

punt:auxi

inicio

reservar (auxi)

auxi --».elemento « -- nulo

auxi --».sig «--nulo

si final=nulo entonces

frente «-- auxi

si_no

final --».sig «-- auxi

fin_si


Quitar o sacar

Procedimiento Sacar (E/S punt: frente; S punt:final;

S tipo_elemento:elemento)

var

punt:auxi «-- frente

inicio

auxi «-- frente

elemento «-- auxi «--.elemento

frente « -- frente --».sig

si frente =nulo entonces

final «-- nulo

fin_si

liberar(auxi)

fin-procedimiento

Nota: los elementos siempre se extraen por el frente


Vacia o ColaVacia

lógico funcion vacia (E punt:frente)

inicio

si frente=nulo entonces

devolver (verdad)

si_no

devolver(falso)

fin_si

fin_función


Procedimiento consultarprimero(E punt:frente; S tipo_elemento: elemento)

inicio

elemento «--frente --».elemento

fin_procedimiento.


 

 

 

 

Google
Imprimir
Colas estáticas
Colas circulares

Elaborado por ; Dinora Soto Castillo,. Dinora334@hotmail.com, dinorasoto2004@yahoo.comWebMaster : CIIUNA
WebMaster : CIIUNA.Optimizado para Internet Explorer y resolución 800x600.