Salut ! Nu pot sa imi dau seama ce e gresit la solutia ta dar am gasit o alta rezolvare a problemei #3801 :
void LsiInterclasare(Nod *h1, Nod *h2, Nod *&h){
Nod *aux;
if(h1->info<=h2->info){
aux=h1;
h=aux;
h1 = h1->leg;
}
else {
aux=h2;
h=aux;
h2=h2->leg;
}
while(h1&&h2){
if(h1->info<=h2->info){
aux->leg=h1;
aux=h1;
h1=h1->leg;
}
else{
aux->leg=h2;
aux=h2;
h2=h2->leg;
}
}
while(h1){
aux->leg=h1;
aux=h1;
h1=h1->leg;
}
while(h2){
aux->leg=h2;
aux=h2;
h2=h2->leg;
}
}