Где можно применить рекурсию в данной программе? Может быть в сортировке как то можно реализовать?
Есть отсортированный массив размерностью N, есть число которое надо добавить в массив. Отсортированный массив размерностью N+1 получается. Получится ли рекурсия?
Вот реализация в программе, один метод берет из неотсортированного массива значение по индексу, бросает в отсортированный, получаем на выходе отсортированный массив, а второе метод берет числовое значение. Возможна ли где то здесь рекурсия? Может быть в сортировке?
import java.util.ArrayList;
public class TaskMentor2 {
// public static ArrayList<Integer> insertToRightPlace(int valueToAdd, ArrayList<Integer> sortedList) {
// sortedList.add(valueToAdd);
// for (int i = 0; i < sortedList.size() - 1; i++) {
// for (int j = i + 1; j < sortedList.size(); j++) {
// if (sortedList.get(i) < sortedList.get(j)) {
// int max = sortedList.get(i);
// sortedList.set(i, sortedList.get(j));
// sortedList.set(j, max);
// }
// }
// }
// return sortedList;
// }
public static ArrayList<Integer> insertToRightPlaceByIndex(int indexOfUnsortedArray, ArrayList<Integer> sortedList) {
sortedList.add(sortedList.get(indexOfUnsortedArray));
for (int i = 0; i < sortedList.size() - 1; i++) {
for (int j = i + 1; j < sortedList.size(); j++) {
if (sortedList.get(i) < sortedList.get(j)) {
int max = sortedList.get(i);
sortedList.set(i, sortedList.get(j));
sortedList.set(j, max);
}
}
}
return sortedList;
}
public static void main(String[] args) {
ArrayList<Integer> sortedList = new ArrayList<Integer>();
sortedList.add(10);
sortedList.add(7);
sortedList.add(9);
sortedList.add(11);
// ArrayList<Integer> sortedListPlusValue = new ArrayList<Integer>();
// sortedListPlusValue = TaskMentor2.insertToRightPlace(55, sortedList);
// System.out.println(sortedListPlusValue);
ArrayList<Integer> sortedListPlusValueByIndex = new ArrayList<Integer>();
sortedListPlusValueByIndex = TaskMentor2.insertToRightPlaceByIndex(1, sortedList);
System.out.println(sortedListPlusValueByIndex);
}
}