Hallo zusammen,
ich habe eine Aufgabe bekommen, bei der ich eine Methode schreiben muss, die aus einem übergebenen int-Array das kleinste Element zurückgibt. Diese Methode soll ganz ohne Schleifen auskommen und rekursiv arbeiten. Als Hinweis ist gegeben, dass wir den übergebenen Array in 2 (möglichst) gleichgroße Teile aufteilen sollen. Das habe ich noch hinbekommen, allerdings weiß ich jetzt nicht wirklich wie es weitergehen soll.
Bis jetzt habe ich folgendes:
Code
public int getSmallestElement(int[] array, int start, int ende){
int smallest = 0;
int[] hilf1;
int[] hilf2;
int length1 = array.length / 2;
int length2 = (array.length / 2) + 1;
if(array.length % 2 == 0)
{
hilf1 = new int[array.length / 2];
System.arraycopy(array, start, hilf1, 0, array.length/2);
hilf2 = new int[array.length / 2];
System.arraycopy(array, array.length/2, hilf2, 0, array.length/2);
}
else
{
hilf1 = new int[length1];
System.arraycopy(array, start, hilf1, 0, length1);
hilf2 = new int[length2];
System.arraycopy(array, length2-1, hilf2, 0, length2);
}
return smallest; //damit ist noch nichts passiert, ich weiß :P
}
Alles anzeigen
Der Array soll beliebig lang sein und, dass start bzw ende übergeben werden, war vorgegeben.
Ich bitte um Tipps, nicht um die Lösung.
Ach und wir benutzen BlueJ.
LG