|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5543
|
[C] - Liste - ricorsione di coda
Avrei questa lista e sul testo mi dice che farla così è più semplice ripetto alla tail ,mi potete dare una motivazione?
Codice:
node *somma(node *l1,node *l2){
node *p;int s=0;
if((l1==NULL) && (l2==NULL)) return NULL;
else if((l1!=NULL) && (l2==NULL)){
return somma(l1->next,l2);}
else if((l1==NULL) && (l2!=NULL)){
return somma(l1,l2->next);}
else if((l1!=NULL) && (l2!=NULL)){
if(l1->data==l2->data){
p=newnode();
p->data=l1->data;
p->next=somma(l1->next,l2->next);
return p;}
if(l1->data<l2->data){
return somma(l1->next,l2);}
if(l1->data>l2->data){
return somma(l1,l2->next);}
}
}
Ultima modifica di gabmac2 : 13-03-2010 alle 23:03. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
Puoi riscrivere il codice usanto il tag CODE e indentando per favore? E' illeggibile così.
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
Quote:
dovresti essere un po piu chiaro , qui hai postato il codice di una funzione chiamata somma , e vorresti sapere cosa ?
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5543
|
questa funzione l' ho chiamata "somma",la funzione duplica i valori uguali in 2 liste.non è di coda,ma perchè in un caso del genere una ricorsione non di coda è da preferire a una di coda?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:17.




















