Ayuda con Estructura!!

Iniciado por cEBH1994, 12 Junio 2017, 02:36 AM

0 Miembros y 2 Visitantes están viendo este tema.

cEBH1994

Buenas, quisiera me ayudaran como es la estructura de eliminar un nodo al final de la lista en C++ si pueden pegar el código se los agradecería saludos.

MadBad

Cita de: cEBH1994 en 12 Junio 2017, 02:36 AM
Buenas, quisiera me ayudaran.

No pides ayuda -.-

Cita de: cEBH1994 en 12 Junio 2017, 02:36 AM
C++ si pueden pegar el código se los agradecería saludos.

Parece que tú ni si quiera lo has intentado... y pides el trabajo hecho...


<--!Python/C#/C++/Ruby/RubyOnRails/Java/-->
Veni, Vidi, Vici - MadBad 3012 A.C.

dato000

Cita de: cEBH1994 en 12 Junio 2017, 02:36 AM
Buenas, quisiera me ayudaran como es la estructura de eliminar un nodo al final de la lista en C++ si pueden pegar el código se los agradecería saludos.

Cierren el tema por favor.



Serapis

#3
Te mueves al nodo anterior al último y le dices:


Ultimo = nulo //se da por hecho que también existe una referencia al último.
Nodo.Siguiente = nulo //(entendiendo que nodo.Siguiente apunta al último, esto es que nodo es el penúltimo).
Ultimo = Nodo
NumNodos -=1


Si la lista es doblemente enlazada, puedes hacer:
Ultimo= Ultimo.Anterior
Ultimo.Siguiente = nulo
NumNodos -=1



Te das cuenta entonces que para eliminar el primer nodo (de esta misma manera), (cuando es a la vez el primero y el último), te exige tener un nodo raíz (como te explicaba en otro mensaje).
No es estrictamente necesario, pero eliminar el raíz debe asociarse con la operación de eliminar la lista, y añadir elementos a una lista vacía, debe separarse de crear la lista vacía (creando un nodo raíz que no cuente)...  Por que así te liberas de comprobar con cada añadido si está vacía y con cada eliminado si queda vacía. Visto desde el exterior está vacía, visto desde el programasdor si existe la lista siempre hay un nodo raíz y por tanto no está vacía (del todo).
Pero mejor experimenta... para entender lo que te digo...

Recuerda que (de modo general) un objeto se elimina cuando el número de referencias llega a 0, de ahí la importancia de eliminar referencias si tienes también otros miembros que lo tienen referenciado.