Hallo zusammen,
ich habe folgenden code, kann aber leider nicht nachvollziehen was das Programm wann macht um auf das Ergebnis zukommen..
meine Hauptprobleme
1. Welche bedeutung hat das array.length-1 hier? heißt es das nacheinander von rechts nach links die Zahlen des Arrays in der rekursion als Obergrenze eingesetzt werden??
2. Welche Schritte macht das Programm genau in der if- und else- Bedingung?
Ich möchte gerne das System des Programms verstehen damit ich es auch selber auf andere Beispiele anwenden kann, es wäre super wenn mir jemand helfen könnte.
Gruß
Julia
ich habe folgenden code, kann aber leider nicht nachvollziehen was das Programm wann macht um auf das Ergebnis zukommen..
Java:
class Klausur {
public static void main (String[] args){
int []array = new int [] {0,5,1,2,7,4,3,9};
System.out.println ("MAX: "+arraymax(array,0,array.length-1));
}
public static int arraymax (int []array, int untergrenze, int obergrenze){
if (obergrenze-untergrenze<=1){
return Math.max (array[obergrenze],array[untergrenze]);
}
else {
return Math.max (arraymax(array,untergrenze,(obergrenze+untergrenze)/2),arraymax (array,(obergrenze+untergrenze)/2+1,obergrenze));
}
}
}
meine Hauptprobleme
1. Welche bedeutung hat das array.length-1 hier? heißt es das nacheinander von rechts nach links die Zahlen des Arrays in der rekursion als Obergrenze eingesetzt werden??
2. Welche Schritte macht das Programm genau in der if- und else- Bedingung?
Ich möchte gerne das System des Programms verstehen damit ich es auch selber auf andere Beispiele anwenden kann, es wäre super wenn mir jemand helfen könnte.
Gruß
Julia