17/10/19 8:51
lippolis2000
salve, devo creare la classe Lista in C++ per realizzare una lista concatenata semplice (quindi con riferimento al nodo successivo ma non al precedente, ho scritto il seguente codice:
N.B.: la funzione dovrebbe avere come parametri " tipoelem " (nel mio caso intero) e una " posizione " che devo ancora definire, ma per il momento sto cercando di capire questa cosa, grazie in anticipo
#include <iostream> using namespace std; typedef int tipoelem; class Lista{ public: void creaLista(); bool listaVuota() const; void insLista(); private: typedef struct{ tipoelem valore; struct Nodo *next; }Nodo; Nodo *head; }; int main() { Lista L; L.creaLista(); if(L.listaVuota()){ cout << "La lista e' vuota" << endl; }else{ cout << "La lista non e' vuota" << endl; } L.insLista(); return 0; } void Lista::creaLista(){ head = NULL; } bool Lista::listaVuota() const{ return (head == NULL); } void Lista::insLista(){ Nodo *primo_nodo = new Nodo; primo_nodo->valore = 1; primo_nodo->next = NULL; head->next = primo_nodo; }non capisco l'errore che mi dà all'istruzione " head->next = primo_nodo; ", cioè io sto dicendo che dopo aver inserito il primo elemento, la variabile head punta a quel primo elemento
N.B.: la funzione dovrebbe avere come parametri " tipoelem " (nel mio caso intero) e una " posizione " che devo ancora definire, ma per il momento sto cercando di capire questa cosa, grazie in anticipo
aaa