Inserimento lista a puntatori

di il
6 risposte

Inserimento lista a puntatori

Non riesco a capire perché non và bene questo inserimento nella lista a puntatori...
questo è il codice

struct nodo{
int info;
struct nodo*next;
}


 void inserisci(*inizio,int num)
{
struct nodo *app;
if(inizio==null) 
{
inizio->info=num;
app=new nodo();
app->next=null;
inizio=app;
delete(app);
}
else 
while(inizio!=null)
inizio=inizio->next;
app=new nodo();
app->info=num;
app->next=null;
inizio=app;
delete(app)
}
}
sò che il ragionamento non è buono ma mi spiegate perché?

6 Risposte

  • Re: Inserimento lista a puntatori

    Fermati quà:
    
    if(inizio==null)
    {
    inizio->info=num;
    .......
    
    riesci a capire cosa c'è che non va?
  • Re: Inserimento lista a puntatori

    Ho controllato se il puntatore è vuoto se è vuoto inserisco direttamente li senza fare altre operazioni.... perché non posso controllare 1 indirizzo vuoto?
  • Re: Inserimento lista a puntatori

    Stai controllando se il puntatore è NULL (e non null che non esiste ma NULL in maiuscolo) il che significa se la variabile inizio punta a qualcosa. Se non punta cosa assegni a cosa?
  • Re: Inserimento lista a puntatori

    Vbb null l'ho scritto in piccolo per fare prima comunque non riesco a capire e se è vuoto come devo fare per assegnargli qualcosa ci credi che odio questi puntatori!
  • Re: Inserimento lista a puntatori

    Adesso ci arrivi?
    
    if(inizio==NULL)
    {
        app=new nodo();
        app->next=NULL;
        app->info=num;
        inizio=app;
    }
    
    Adesso inizio che prima non puntava a niente punta ad un nodo che non bisogna eliminarlo con delete perche poi inizio punta ad una posizione non valida.
  • Re: Inserimento lista a puntatori

    Guarda quà il procedimento così capisci una volta per tutto sti puntatori.
    L'immagine è la spiegazione del codice sopra.
    Grafica1.jpg
    Grafica1.jpg

Devi accedere o registrarti per scrivere nel forum
6 risposte