Code-Kampagne
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Was berechnet dieser Code? Wie geht es besser?
Außergewöhnliche Karriere für herausragende Informatiker
void m(int[] a, int[] b, int[] c, int p, int q) {
if (p + 1 < q) {
m(a, c, b, p, (p + q) / 2);
m(a, c, b, (p + q) / 2, q);
for (int i = p, j = p, k = (p + q) / 2; i < q; i++) {
b[i] = (k >= q || j < (p + q) / 2 && c[j] <= c[k]) ?
c[j++] : c[k++];
}
} else {
b[p] = a[p];
}
}
Was berechnet dieser Code?
Wie geht es besser?
Bewerben Sie sich mit der richtigen Lösung
Praktika, Werkstudenten, Masterarbeiten, Festanstellung
www.itestra.com
Ich weiß nicht, irgendwie kommt mir dieser Code so bekannt vor. Ach ja: https://fsi.informatik.uni-erlangen.de/forum/post/121718
[size=7]Und sieht auch irgendwie immer noch nach komischen Mergesort aus.[/size]
Kommt mir auch so vor. Fuer geeignete Werte von p und q sortiert das Ding manchmal den Inhalt von a nach b. Ich hoffe das ist kein Beispiel aus der echten Welt.
Für [m]p = 0, q = a.length = b.length = c.length[/m] steht am Ende der Inhalt von [m]a[/m] sortiert in [m]b[/m]. Und jetzt könnt ihr euch da bewerben.
Oh man, jetzt habt ihr die ganze Challenge gespolit, weils jetzt alle googeln können anstatt selbst drüber nachzudenken!1!!