1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
void merge (int links, int mitte, int rechts) {
int i, j, k;
// B ist ein global definiertes integer-Array.
for (i = links; i <= mitte; i++)
B[i] = A [i];
// Das erste Teilarray wird nach B kopiert.
for (i = mitte + 1; i <= rechts; i++)
B [i] = A [rechts - i + mitte + 1];
// Das zweite Teilarray wird in umgekehrter Reihenfolge
// nach B kopiert
i = links, j = rechts;
for (k = links; k <= rechts; k++)
A [k] = (B[i] < B[j])? B[i++] : B[j--];
}
|