Funktion mergesort
mergesort (int a[], int l, int r)
/*sortiert a[l] bis a[r] nach aufsteigenden Schlüsseln*/
if (rɭ) /*Folge hat mindestens 2 Elemente*/
m= (r+l)/2; /*Mitte der Folge bestimmen*/
for (i=m+1; iɭ i--) b[i-1]= a[i-1];
for (j=m; j<r; j++) b[r+m-j]= a[j+1];
for (k=l;k<=r;k++) /*Zweiweg-Mischen*/
a[k]=(b[i]<b[j]) ? b[i++]: b[j--];