ciao a tutti.
devo fare una funzione che date 2 liste contenenti dei polinomi mi crei una terza lista con la somma dei polinomi.
io l'ho pensata così...
Codice PHP:
nodo * crea(){
nodo *head=new nodo;
head->link=NULL;
return head;
}
void polinomiosomma(nodo * head1, nodo * head2, nodo * head3){
if ((head1==NULL) && (head2==NULL)){
return;
}
else
{
head3->link=crea();
if ((head1->esp>head2->esp) || (head2==NULL))
{
head3->esp=head1->esp;
head3->coef=head1->coef;
return polinomiosomma(head1->link,head2,head3->link);
}
if ((head1->esp<head2->esp) || (head1==NULL))
{
head3->esp=head2->esp;
head3->coef=head2->coef;
return polinomiosomma(head1,head2->link,head3->link);
}
if (head1->esp==head2->esp){
head3->esp=head1->esp;
head3->coef=(head1->coef+head2->coef);
return polinomiosomma(head1->link,head2->link,head3->link);
}
}
}
la logica funziona.. il problema che trovo però è che facendo così lui mi crea un nodo successivo di head3 anche se poi magari non ci vado a scrivere. come posso fixarlo secondo voi?
sperando di essermi spiegato bene
grazie