Logo

Foro sobre los Ciclos Formativos de Grado Medio ( SMR ) y Superior ( ASIR, DAI, DAM y DAW ).

[C++] Problema función borrado ultimo nodo de una lista

Foro sobre el módulo > Programación en lenguajes estructurados.

[C++] Problema función borrado ultimo nodo de una lista

Notapor Lobo14 el 02 Abr 2011, 19:25

Buenas, mi problema es el siguiente: he hecho una función, para borrar el ultimo elemento de una lista enlazada, tal como dice el título del post. A esta función se le pasa la dirección de memoria del nodo raiz, y a partir de ahi buscaríamos el ultimo nodo de la lista para borrarlo y poner el penultimo apuntando a NULL.

Estoy haciendo algo mal, porque al ejecutar el programa, muestro por pantalla la lista, y lo que me muestra, creo entender, es una dirección de memoria.

Aqui os pongo la función para borrar el ultimo nodo, he repasado todo de arriba a abajo y no se que es lo que hago mal, si necesitais que ponga el programa entero lo pongo sin problemas.

Código: Seleccionar todo
void eliminaUltimo(nodo **r){
   
    nodo *ulti = *r;
    nodo *penulti = *r;
   
   
    if(*r!=NULL){
       
        if(ulti->siguiente = NULL){
           
            *r = NULL;
            delete ulti;
       
        }else{
           
            while(ulti->siguiente != NULL){
                ulti = ulti->siguiente;
                penulti -> siguiente = ulti;
            }
           
            penulti->siguiente = NULL;
            delete ulti;
        }
    }
   
}


También lo he preguntado por forosdelweb, si me pueden ayudar por alli, pondré aqui la solución, y si alguien puede ayudarme, se lo agradeceria mucho.

Un saludo.

EDITO: En forosdelweb han dado con la tecla, son de estos problemas, que aunque lo mires 500 veces, no te das cuenta, en el "if" de "ulti->siguiente = NULL", lo que estoy haciendo es asignarle siempre "NULL", porque solo estoy usando un signo igual "=", es obvio que para comparar tengo que utilizar dos "==", muy tonto el fallo, pero que me ha tenido repasando el codigo mil veces...

Cierro tema.
Avatar de Usuario
Lobo14
Moderador FP
Moderador FP
 
Mensajes: 1430
Registrado: 04 Sep 2008, 15:12
Ciclo Formativo: DAI / DAM
Curso:
Acceso por: Prueba de Acceso
Provincia: Huelva
Instituto: I.E.S. La Marisma

Volver a PLE

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados