PDA

Visualizza la versione completa : [C++] Eliminazione di un nodo da una lista


horghe
07-12-2017, 19:23
Salve, da poco mi sono cimentato nella programmazione imperativa in c++.
Ho un problema relativo alle liste, non riesco ad eliminare un nodo.
Spero di riuscire a trovare una soluzione con voi, perché proprio non ne riesco a venire a capo!!

queste sono le banali strutture di riferimento:


struct nodo{ int x;
nodo *p;
};

struct lista{ nodo *n;
int c;
};



Questo è il sotto-programma:


void elimina(lista &l, nodo* &nod) //nod è il nodo da eliminare provoniente da una ricerca.
{ nodo *cursore, *eliminatore;
cursore=l.n;
while(cursore<nod){cursore=cursore->p;
if(cursore!=nod)eliminatore=cursore;
}
cout<<"cursore.."<<cursore->x;
cout<<"eliminatore.."<<eliminatore->x;
eliminatore=nod->p;
l.c--;
}

Whitecrowsrain
29-12-2017, 17:29
a me pare evidente che così non elimini nulla, cioè in quale punto del tuo codice pensi che il nodo venga eliminato?
con queste strutture io la vedo dura..

Loading