Linguaggio C: Cancellazione di un elemento da una lista.

  • Autore discussione Autore discussione Nines
  • Data d'inizio Data d'inizio
Pubblicità
Ma hai cambiato solo queste due cose o hai modificato anche il resto del programma per usare un puntatore in piu'?
 
Ah ok. Prova anziche' a mettere (*head)->prev->next=... a passargli un parametro in piu' alla funzione, un altro puntatore che contenga head->prev
 
Secondo me il problema non è nella cancellazione (almeno per il primo nodo funziona, ma in fondo quello che avevi scritto faceva solo questo per il momento)..
Domani se ho tempo provo a guardarci meglio.. :)
 
Ultima modifica:
Secondo me il problema non è nella cancellazione (almeno per il primo nodo funziona, ma in fondo quello che avevi scritto faceva solo questo per il momento)..
Domani se ho tempo provo a guardarci meglio.. :)

No il problema è prprio che non cancella il primo nodo, bensì solo una parte... Allora spero di poter ricevere presto altre notizie :)
 
Cancellare lo cancella solo che poi anziche' saltarlo va sempre a leggere quegli slot di memoria. A meno che non aggiorni il campo next del nodo precedente a quello che vuoi cancellare non funzionera' mai
 
Cancellare lo cancella solo che poi anziche' saltarlo va sempre a leggere quegli slot di memoria. A meno che non aggiorni il campo next del nodo precedente a quello che vuoi cancellare non funzionera' mai

Ma l'operazione che mi suggerisci tu non è tipica delle liste doppiamente concatenate? E comunque te l'ho detto... non mi funziona comunque -.-
 
Pensavo di esserti stato di aiuto, ma evidentemente il msg non è arrivato chiaro.
Riprovo adesso:
nines il programma che hai postato, a parte la x non inizializzata (errore da poco) e il nome valido che bisogna dare (che tu cmq hai dato ma qui non visualizzato)
FUNZIONA CORRETTAMENTE, canc1 cancella il nodo e quando si va a visualizzare la lista, questa viene visualizzata CORRETTAMENTE.
l'ambiente utilizzato per compilarlo e fare il debug è il visual studio 2008;
non me la sento di dirti cambiare compilatore, però potrebbe essere quello il problema.
Se poi mi dici che persiste te lo compilerò sotto linux e verificherò anche li.
 
Pensavo di esserti stato di aiuto, ma evidentemente il msg non è arrivato chiaro.
Riprovo adesso:
nines il programma che hai postato, a parte la x non inizializzata (errore da poco) e il nome valido che bisogna dare (che tu cmq hai dato ma qui non visualizzato)
FUNZIONA CORRETTAMENTE, canc1 cancella il nodo e quando si va a visualizzare la lista, questa viene visualizzata CORRETTAMENTE.
l'ambiente utilizzato per compilarlo e fare il debug è il visual studio 2008;
non me la sento di dirti cambiare compilatore, però potrebbe essere quello il problema.
Se poi mi dici che persiste te lo compilerò sotto linux e verificherò anche li.

Ah, ok... ora provo con questo programma allora... ma perché codeblock non funziona?

- - - Updated - - -

Pensavo di esserti stato di aiuto, ma evidentemente il msg non è arrivato chiaro.
Riprovo adesso:
nines il programma che hai postato, a parte la x non inizializzata (errore da poco) e il nome valido che bisogna dare (che tu cmq hai dato ma qui non visualizzato)
FUNZIONA CORRETTAMENTE, canc1 cancella il nodo e quando si va a visualizzare la lista, questa viene visualizzata CORRETTAMENTE.
l'ambiente utilizzato per compilarlo e fare il debug è il visual studio 2008;
non me la sento di dirti cambiare compilatore, però potrebbe essere quello il problema.
Se poi mi dici che persiste te lo compilerò sotto linux e verificherò anche li.

Con questo programma non mi mostra al posto della lista mi mostra una serie di caratteri senza alcun senso... :(
 
Pubblicità
Pubblicità
Indietro
Top