代碼如下:
// 遞歸練習
public class recursionTest {
public static int getMax(int[] arr,int l,int r){
if(l == r){
return arr[l];
}
int median = (int)(l + r)/2;
System.out.println(arr[median]);
int leftMax = getMax(arr,l,median);
int rightMax = getMax(arr,median+1,r);
return Math.max(leftMax,rightMax);
}
public static int[] createAarray(int maxvalue,int number){
int[] arr = new int[(int)((number+1) * Math.random())];
for (int i = 0;i < arr.length ; i++){
arr[i] = (int)(Math.random() * (maxvalue + 1));
}
return arr;
}
public static int[] copyArray(int[] arr){
int[] temp = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
temp[i] = arr[i];
}
return temp;
}
public static void main(String[] args) {
int[] arr = createAarray(100,10);
for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+ " "); }
System.out.println();
int maxvalue = getMax(arr,0,arr.length-1);
System.out.println(maxvalue);
}
}