Ver Mensaje Individual
  #9  
Antiguo 30-11-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola,

Intuyo que se trata de un práctico o trabajo para entregar en alguna cátedra o materia. Tus imágenes me hizo acordar a un TP de Lenguajes cuando vi el tema de punteros y TADs.

El ejercicio consistía en escribir las instrucciones necesarias para ir de un estado inicial (tu imagen 1) hacia un estado final (imagen 2). No necesariamente debíamos apegarnos a un lenguaje, aunque usamos la sintaxis de Pascal.
En ese entonces los ejercicios los hacíamos a mano y nos tomábamos toda la tarde, la noche e incluso en ocasiones la mañana para resolverlos... Nos daban de 20 a 50.

Vaya que han cambiado las cosas, ahora uno "consulta" pidiendo que les resuelvan el ejercicio y todo hace a computadora.

Respondiendo a tu duda: ¿Cómo se hace? Y... "jugando" con los punteros, intercambiandolos, empleando alguna variable auxiliar en caso de considerarse necesario. No hay un proceso único o manera de encarar el problema. Las instrucciones dependerán del problema, no hay método genérico... allí es donde radica lo lindo de esto

Debes guiarte por la forma en como están relacionados, y corregir los punteros. Lamentablemente deberás exprimir el cerebro.

Además, si te damos los pasos lo resolvemos nosotros... se supone que lo debes resolver vos.

Aquí algo que puedes tener como guía, desde un vistazo rápido a la imagen 1:

P2^A = P1
P2^S = P2
P1^S = P2

Ahorita está un poco más complicado:
Anterior^S^A = P1

La explicación es fácil de apreciar: Anterior^S (que se lee el puntero siguiente del nodo Anterior) apunta hacia el nodo 4º. Ahora el puntero anterior de éste va hacia el nodo 3º que corresponde a la variable P1.

De la imagen 2 vemos que P2 debe apuntar hacia P1, por lo que prematuramente podría resolverse esta parte con algo como:
P2^S = P1

Espero haber dado una idea. El resto es cerebral y lógica.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita