Visualizzazione dei risultati da 1 a 10 su 10

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178

    [C] Eliminare un nodo dalla lista

    Ciao a tutti.

    Ho fatto un programma che visualizza una lista di numeri casuali compresi tra 0 e 9. Ora devo fare in modo che l'utente possa eliminare a suo piacimento un elemento della lista. Ad esempio se ho la seguente lista:

    3--> 4--> 1--> 8--> 0--> 0--> NULL

    Mettiamo che l'utente voglia eliminare gli 0. Allora inserisce il valore 0 e la lista deve diventare:

    3--> 4--> 1--> 8--> NULL

    Il problema è che il programma non mi visualizza il risultato della lista modificata. Il codice che dovrebbe eliminare il nodo è questo:
    codice:
      while( startPtr != NULL) {
    
             ListNodePtr tempPtr;
    
    
             if( elimina == startPtr->data) {
                 tempPtr = startPtr;
                 startPtr = startPtr->nextPtr;
                 free(tempPtr);
             } else {
                 startPtr = startPtr->nextPtr;
             }
    
    
         }
    elimina è il valore inserito dall'utente. Il ragionamento è questo:

    se elimina è uguale al numero del nodo allora tampPtr (puntatore al nodo temporaneo) tempPtr = startPtr e startPtr->nextPtr avanza di nodo. Poi libera la memoria con la funzione free. In caso contrario fai avanzare startPtr al prossimo nodo.

    Ragazzi gentilmente dove ho sbagliato ?

    Grazie
    Ultima modifica di Bombonera; 12-08-2014 a 11:00

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.