Autor
|
Tema: Borrar ultimo nodo lista simplemente enlazada (Leído 5,295 veces)
|
robertoesimez
Desconectado
Mensajes: 6
|
Alguien me puede ayudar a borrar el ultimo nodo en mi lista simplemente enlazada, se lo agradecería mucho #include <cstdlib> #include <iostream> using namespace std; class FLORES{//Aquí hago mi clase y mis apuntadores del tipo de la clase private: FLORES *liga; FLORES *primero; FLORES *auxiliar; FLORES *nuevo; float precioventa; public: FLORES(){//Inicializo mis apuntadores en NULL primero=NULL; auxiliar=NULL; nuevo=NULL; } void ingresa_nodo(); void mostrar_nodo(); void borrar_nodo(); }; void FLORES::ingresa_nodo(){//Mi función para ingresar nodos system("cls"); if(primero==NULL){ cout<<"ENTRO AQUI PORQUE NO HAY NODOS"<<endl; nuevo= new (FLORES); cout<<"Ingrese el precio de la flor"<<endl; cin>>nuevo->precioventa; primero= nuevo; auxiliar= nuevo; nuevo->liga=NULL; } else{ cout<<"ENTRO AQUI PORQUE HAY NODOS"<<endl; nuevo=new (FLORES); cin>> nuevo->precioventa; auxiliar->liga= nuevo; auxiliar=nuevo; nuevo->liga=NULL; } } void FLORES::borrar_nodo(){// El problema XD auxiliar=auxiliar->liga; delete nuevo; auxiliar->liga=NULL; } void FLORES::mostrar_nodo(){//Mi función para mostrar nodo auxiliar=primero; while(auxiliar!=NULL){ cout<<"Precio:"<<auxiliar->precioventa<<endl; auxiliar=auxiliar->liga; } system("PAUSE"); } int main(int argc, char *argv[]) { FLORES obj;//Creo mi objeto int opc; do{//Menu system("cls"); cout<<"\t"<<"\t"<<"\t"<<"MENU NODO"<<endl<<endl; cout<<"1. Ingresar nodo"<<endl; cout<<"2. Borrar nodo"<<endl; cout<<"3. Ver nodo"<<endl; cout<<"4. Salir"<<endl<<endl; cout<<"Elige tu opcion:"<<endl, cin>> opc; switch (opc){ case 1: obj.ingresa_nodo(); break; case 2: obj.borrar_nodo(); break; case 3: obj.mostrar_nodo(); break; case 4: break; } }while(opc!=4); system("PAUSE"); return EXIT_SUCCESS; }
|
|
|
En línea
|
|
|
|
Natalia94x
Desconectado
Mensajes: 19
|
Alguien me puede ayudar a borrar el ultimo nodo en mi lista simplemente enlazada, se lo agradecería mucho void FLORES::borrar_nodo(){// El problema XD auxiliar=auxiliar->liga; delete nuevo; auxiliar->liga=NULL; }
void FLORES::borrar_nodo(){// El problema XD primero = NULL; // restablecer var }
Este code restablece la variable a 0, espero que te sirva, SALUDOS!.
|
|
« Última modificación: 22 Marzo 2017, 22:07 pm por Natalia94x »
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
A simple vista creo que la clase está mal planteada. Primero intenta realizar el trabajo sin clases, como si fuera C. Verás que sobran muchas cosas.
|
|
|
En línea
|
|
|
|
robertoesimez
Desconectado
Mensajes: 6
|
Las clases me las pidio el profesor si no, no me revisa mi programa
|
|
|
En línea
|
|
|
|
Natalia94x
Desconectado
Mensajes: 19
|
Gracias, pero solo quiere me borre el ultimo nodo no toda la lista y con eso se me borra todo
AH no te había entendido pero de todos modos arregla la clase, hay muchos errores en las vars, SALUDOS.
|
|
« Última modificación: 22 Marzo 2017, 23:26 pm por Natalia94x »
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
No, robertoesimez, no lo digo por eso. La cosa es que empieces sin clases; solo structs, arrays y funciones. Así verás más claras claras las colas. Cuando funcione lo pasas a clase.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Lista Simplemente enlazada ayuda
Programación C/C++
|
Cpp
|
1
|
2,051
|
11 Diciembre 2014, 07:29 am
por eferion
|
|
|
Eliminar nodo en lista enlazada: problema con el último nodo [C]
Programación C/C++
|
Rhessus
|
2
|
5,309
|
20 Julio 2016, 06:08 am
por Rhessus
|
|
|
Borrar nodo en lista simplemente enlazada[C]
Programación C/C++
|
NOB2014
|
4
|
6,042
|
28 Julio 2016, 14:22 pm
por NOB2014
|
|
|
Problema al leer/mostrar lista simplemente enlazada en C
Programación C/C++
|
Chamit Jabes
|
1
|
1,967
|
10 Abril 2017, 01:57 am
por Chamit Jabes
|
|
|
Problema con una lista simplemente enlazada en C++
Programación C/C++
|
Mike_EDD
|
1
|
2,823
|
4 Septiembre 2017, 22:24 pm
por ivancea96
|
|