Рекурсивно найти индекс наибольшего элемента массиваJAVA

Программисты JAVA общаются здесь
Anonymous
Рекурсивно найти индекс наибольшего элемента массива

Сообщение Anonymous »

Итак, я работаю над этим вопросом, который просит меня использовать рекурсию для создания метода, который возвращает индекс наибольшего элемента в массиве целых чисел, используя этот заголовок «private static int findLargest (int [] items, int first , int последнее)». Это то, что я написал, и хотя он работает так, как задумано, он выдает StackOverflowError, если я передаю ему массив, содержащий более 5 элементов.
private static int findLargest (int [] items, int first, int last) {

if (first == last) {

return first;

}//end if

if (last - 1 == first) {

if (items[first] > items[last]) {

return first;

} else {

return last;

}//end if

}//end if

int firstHalf = findLargest (items, first, last / 2);
int secondHalf = findLargest(items, last / 2 + 1, last);

if (items[firstHalf] > items[secondHalf]) {

return firstHalf;

} else {

return secondHalf;

}//end if

}//end method findLargest


Подробнее здесь: https://stackoverflow.com/questions/784 ... n-an-array

Вернуться в «JAVA»