|
|
|
Colas dinámicas
|
|||||||||||||||||||
|
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.
|
|
Elaborado por ; Dinora
Soto Castillo,. |