Hier ist wieder etwasRekursives:
[code=Java]public static int[] ein(int[]... arrays) {
if (arrays.length == 2) {
int[] array = new int[arrays[0].length + arrays[1].length];
fuegeEin(array, 0, arrays[0], arrays[1]);
return array;
}
int[][] newarrays = new int[arrays.length - 1][];
for (int i = 0; i < newarrays.length; i++) {
newarrays[i] = arrays[i];
}
return ein(ein(newarrays), arrays[arrays.length - 1]);
}[/code]
iterativ wäre alles viel, viel schneller. idee: Beginne mit einem 0-elementigen Array, füge nacheinander alle anderen Arrays jeweils einzeln hinzu (erstelle ein neues größeres Array und füge Elemente aus beiden Arrays ein).
Wenn man berechnen könnte welches Element an Stelle i im ErgebnisArray vorkommt, ginge es wieder schneller.
Bringt hoffentlich zur Lösung