Foros del Web » Programación para mayores de 30 ;) » C/C++ »

invertir listas doblemente enlazadas

Estas en el tema de invertir listas doblemente enlazadas en el foro de C/C++ en Foros del Web. Hola, favor ayudenme con algo, como invierto una lista doblemente enlazada? tambien como intercalar lista doblemente enlazada, en c++ Espero me ayuden...
  #1 (permalink)  
Antiguo 18/09/2009, 19:04
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 15 años, 10 meses
Puntos: 0
invertir listas doblemente enlazadas

Hola, favor ayudenme con algo, como invierto una lista doblemente enlazada? tambien como intercalar lista doblemente enlazada, en c++

Espero me ayuden
  #2 (permalink)  
Antiguo 20/09/2009, 15:33
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Respuesta: invertir listas doblemente enlazadas

Pues con el codigo como que no, tienes que hacerlo tu mismo para que lo entiendas, pero antes que nada debes definir la manera en que lo vas a hacer.

El nodo de cabecera tiene el puntero anterior hacia NULL y el siguiente hacia otro nodo, y en cambio en nodo de fin su puntero anterior apunta hacia un nodo y el siguiente hacia NULL.

Entonces para invertir la lista hacemos lo siguiente:

Mediante un puntero auxiliar vamos rehaciendo los enlaces de de la lista; empezamos desenlazando desde el nodo anterior final y pasandolo posterior a este, de esta manera vas desplazando el puntero fin poco a poco, hasta que el nodo siguiente a aux sea la cabecera, la misma que pasará a ser con el nodo final con el mismo proceso anterior y aux sería la cabecera. Así podrías invertir tu lista, pueden haber otras maneras, pero te propongo esta que ojalá me hayas entendido.
__________________
En programación hay mil y un formas de hacer lo mismo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:13.