PDA

Visualizza la versione completa : Inserimento ordinato in una lista ,[C]


fagix
25-10-2010, 19:19
Salve, sono agli inizi della programmazione e vorrei che qualcuno mi spiegasse questa funzione perché non la capisco. Gli passo due puntatori della lista per riferimento e devo metterli dal maggiore al minore il primo n che ha un nodo solo e che via via va ad aggiungere nodi a p. Per qualsiasi altra informazione fatemelo sapere.
Ecco il codice:


void Insord(Snodo**p,Snodo**n){

if(*p==0)
instesta(p,n);
else{
Snodo*prec=0;
Snodo*cor=*p;
while(cor){
if(cor->info.npet >(*n)->info.npet)
break;
prec=cor;
cor=cor->next;
if(prec==0)
instesta(p,n);
else
instesta(&(prec->next),n);
}
}
}

Loading