Iacu|tad de Ingen|er|a de S|stemas Computo y 1e|ecomun|cac|ones
As|gnatura Lstructura de Informac|n 1ema Pilas y Colas Profesor: Lic. CarIos A. Ruiz De La Cruz MeIo Correo: ruizdeIacruzmeIo@uigv.edu.pe Def|n|c|n ILA Una p||a es una co|ecc|n ordenada de e|ementos en |a cua| se pueden |nsertar nuevos e|ementos por un extremo y se pueden ret|rar otros por e| m|smo extremo %RA SAL %P Imp|ementac|on de ILA Car|os 01677 Mar|a 01877 Ana 0S677 nu|o ra|z CIMA FD Car|os 01677 Mar|a 01877 Ana 0S677 FD CIMA arregIo 0 1 2 CLkACICNLS ML1Lk (USn) SACAk (C) CCUADC VACIC ALICACICNLS NAVLGADCk WL8 LDI1CkLS DL 1Lk1C kLCUkSIVIDAD Lspec|f|cac|on ILA var|ab|e entero e ILA sgte ra|z Lntero tope Lntero | operac|ones CkLAk(1AMANC) no retorna va|or CCUADC retorna va|or |og|co VACIC retorna va|or |og|co ML1Lk(dato) no retorna n|ngun va|or SACAk() retorna un t|po entero VLk() no retorna n|ngun va|or s|gn|f|cado CkLAk perm|te crear un nodo CkLAk(1AMANC) perm|te crear |a p||a as|gnando un tamao CCUADC retorna verdadero s| |a p||a ||ego a| tope de su tamao en caso contrar|o retorna fa|so VACIA retorna verdadero s| |a p||a esta vac|a en caso contrar|o retorna fa|so ML1Lk(dato) proced|m|ento que |ngresa e| va|or de dato a |a p||a SACAk() retorna e| e|emento que se saco de |a c|ma de |a p||a VLk() perm|te v|sua||zar |os datos de |a p||a f|nILA SPCIFICACI D PILA func|on CCUADC() |og|co s| (|tope) entonces retornar verdadero S|no retornar fa|so f|ns| f|nCcupada func|on VACIC() |og|co s|(|0) entonces retornar verdadero S|no retornar fa|so f|ns| f|nVACIA ALGRI%MS D PILA proced|m|ento ML1Lk(ra|z dato) |og|co crear(n) as|gnar(ndato) s| (ra|z nu|o) entonces ra|z n sgte(n)nu|o s|no sgte(n)ra|z ra|zn f|ns| ||+1 f|nML1Lk func|on SACAk(ra|z) entero qsgte(ra|z) |eer(ra|z e) ||berar( ra|z) ra|zq ||1 retornar e f|nSACAk Def|n|c|n CCLA Las co|as ofrecen dos operac|ones fundamenta|es que son enco|ar (a| f|na| de |a co|a) y desenco|ar (de| com|enzo de |a co|a) %RA SAL CLA FR% Imp|ementac|on de CCLA Car|os 01677 Mar|a 01877 Ana 0S677 nu|o ra|z FR% CLA Car|os 01677 Mar|a 01877 Ana 0S677 CLA FR% arregIo 0 1 2 CLkACICNLS ML1Lk (enco|ar) SACAk (deco|ar) CCUADC VACIC ALICACICNLS kLDLS DL CCMU1ADCkAS CLILN1LS SCLICI1ANDC SLk A1LNDIDCS Ck 1LLLICNICA SIMULACICNLS Lspec|f|cac|on CCLA var|ab|e enLero e CCLA sgLe enLeroLope enLero l operac|ones C8LA8 no reLorna valor C8LA8(1AMAnC) no reLorna valor CCuAuC() reLorna valor loglco vAClC reLorna valor loglco ML1L8(daLo) no reLorna nlngun valor SACA8() reLorna un Llpo enLero vL8() no reLorna nlngun valor s|gn|f|cado CkLAk permlLe crear un nodo CkLAk(1AMANC) permlLe crear la cola aslgnando un Lamano CCUADC reLorna verdadero sl la cola llego al Lope de su Lamano en caso conLrarlo reLorna falso VACIC reLorna verdadero sl la cola esLa vacla en caso conLrarlo reLorna falso ML1Lk(dato) procedlmlenLo que lngresa un valor a la cola SACAk saca un elemenLo de la cola VLk permlLe vlsuallzar los daLos de la cola f|nCCLA ALGRI%MS D CLA func|on ML1Lk(dato) |og|co crear(n) as|gnar(ndato) s| (ra|z nu|o) entonces ra|z n s|no qra|z m|entras (sgte(q) nu|o ) hacer qsgte(q) f|nm|entras sgte(q)n f|ns| sgte(n)nu|o ||+1 f|nML1Lk func|on SACAk() entero qsgte(ra|z) |eer(ra|z e) ||berar( ra|z) ra|zq ||1 retornar e f|nSACAk func|on CCUADC() |og|co s| (|tope) entonces retornar verdadero s|no retornar fa|so f|ns| f|nCcupada func|on VACIC() |og|co s|(|0) entonces retornar verdadero s|no retornar fa|so f|ns| f|nVACIA