Problema inserimento il coda Lista

di il
1 risposte

Problema inserimento il coda Lista

Ciao a tutti io devo creare una lista in C++ attraverso due classi differenti una classe nodo ed una classe lista. Nell prima inserire il dato ovvero l'informazione del nodo e il puntatore al successivo nonchè le funzioni di get e sei dei due dati. Nella seconda classe è invece presente solamente il puntatore di testa della nostra lista e le varie funzioni di inserimento, rimozione, conteggio dei nodi e ricerca di un elemento. Sono riuscito a insrire in testa ma non riesco ad effettuare l'inserimento il coda.
Questo è il mio header file:
#include <iostream>
using namespace std;

class Nodo
{
	private:
		double dato;
		Nodo* ptr_succ;

	public:
		Nodo();
		~Nodo();
		Nodo(double d, Nodo* p);
		double get_dato();
		void set_dato(double d);
		Nodo* get_ptr();
		void set_ptr(Nodo* p);
};

class Lista : public Nodo
{
	private:
		Nodo* puntatore;
	public:
		Lista();
		~Lista();
		Lista(Nodo* p);
		void set_puntatore(Nodo* p);
		Nodo* get_puntatore();
		void inserire_testa(double d);
		void inserire_coda(double d);
		void cerca(double d);
		void conta();
};

Questa è la funzione che avevo pensato:
void Lista :: inserire_coda(double d)
{
	Nodo* indice;
	for(indice=puntatore; indice=NULL; indice=indice->get_ptr())
	{
		if(indice->get_ptr()==NULL)
		{
			Nodo* nuovo_ptr;
			nuovo_ptr=new Nodo;
			nuovo_ptr->set_dato(d);
			nuovo_ptr->set_ptr(NULL);
			indice=nuovo_ptr;
		}
	}
}
Non ho errori di compilazione ma non mi viene inserito il nodo all'interno dellla lista. Sapete aiutarmi a trovare dove sbaglio e a fornirmi una soluzione? Grazie in anticipo

1 Risposte

  • Re: Problema inserimento il coda Lista

    Attenzione alla condizione dell'if, per il confronto ci vogliono due uguali.
    Detto questo, se si tratta di C++ perché hai postato nella sezione C#?
Devi accedere o registrarti per scrivere nel forum
1 risposte