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:
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); } } }

Rispondi quotando