L'esempio è preso da questo video credo:
https://www.youtube.com/watch?v=ijdUgyGQOug&t=1010
Assume l'esistenza di questo vettore ausiliario di cui necessita il mergsort per poter effettuare l'ordinamento.
Questo è il codice tradotto:
void merge(int v[], int sx, int cx, int dx)
{
int i,j,k,h,aux;
i=sx;
j=cx+1;
k=sx;
while(i<=cx && j<=dx) //Ovvero finchè in entrambi i vettori sono presenti degli elementi
{
if(v[i]<=v[j])
{
aux[k]=v[i];
i++;
}
else
{
aux[k]=v[j];
j++;
}
j=dx;
for(h=cx;h<sx;h--) //Si attiva se e solo se uno dei due vettori è vuoto e nell'altro sono presenti ancora elementi
{
v[j];=v[h];
j--;
}
for(j=sx;j<k-1;j++)
{
v[j]=aux[j];
}
}
}