Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Encuentre una o mas soluciones a los siguientes problemas y expréselas tanto en Pseudocódigo como en
un Lenguaje de
Programación
cab
Ω H B T B Z T B Ω
Figura-1
cab
Ω H Z Ω
Figura-2
1
PRIMARIA…”
Documento de la serie : “Aprenda Estructuras de Datos como en
Profesor : Braulio Barrios Zúñiga
Última revisión : ENERO/2019
ELIMINAR-NODOS-CON-VALOR-REPETIDO
P ← cab
MQ ( P <> NIL ) HAGA /** P es el apuntador principal. Cada nodo apuntado por él es comparado con los
demás **/
cont ← 0 ; Q ← cab /** Q recorre toda la lista contando las coincidencias del carácter…. **/
MQ ( Q <> NIL ) haga
Si ( Q↑.info = P↑.info) Ent
cont ← cont +1
Fin si
P ← Q ↑. Sig
Fin MQ
Si (cont > 1) ent /** Borro todos los datos que sean iguales a los que apunta P **/
Dato ← P ↑.info; R ← cab
MQ ( R <> NIL ) haga
Si ( R ↑.Info = Dato) Ent /** Lo Borro **/
Si (R = cab) AND (Cab ↑.Sig = NIL ) ent /* Es el PRIMERO y UNICO ????? */
P ← P↑.Sig ; Dispose( R ); R ← NIL; cab ← NIL;
Sino
Si (R = cab) AND (Cab ↑.Sig <> Ω ) ent /* Es el primero?
cab ← cab ↑.Sig; cab ↑.Ant ← Ω; P ← P↑.Sig;
Dispose( R ); R ← cab;
Sino
Si ( R↑.Sig = NIL) Ent /* Es el ÚLTIMO ????? */
SI R = P Ent /* coincide con el apuntado por P ????? */
P ← P↑.Sig
Fin Si
R↑.Ant↑.Sig ← NIL; Dispose(R); R ← NIL;
Sino /* Es Uno INTERMEDIO */
P ↑.Ant ↑.Sig ← R↑.Sig;
R ↑.Sig↑.Ant ← R↑.Ant;
SI R = P Ent /* coincide con el apuntado por P ?? */
P ← P↑.Sig
Fin Si
T ← R↑.Sig; Dispose (R); R ← T
Fin Si
Fin Si
Fin Si
Sino
R ← R ↑.Sig
Fin si
Fin MQ
Sino
P ← P ↑.Sig
Fin Si
FMQ
Fin ELIMINAR-NODOS-CON-VALOR-REPETIDO