Ipotesi
- v1 è ordinato
- v2 è ordinato
- v3 è dimensionato per poter contenere n1+n2 elementi
void fusione(int *v1, int n1, int *v2, int n2, int *v3, int *n3) { int i1=0, i2=0, i3=0; *n3=n1+n2; while(i1 < n1 && i2 < n2) { if(v1[i1] <= v2[i2]) { v3[i3]=v1[i1]; i1++; } else { v3[i3]=v2[i2]; i2++; } i3++; } while(i1 < n1) { v3[i3]=v1[i1]; i1++; i3++; } while(i2 < n2) { v3[i3]=v2[i2]; i2++; i3++; } }