Рекурсия, Arraylist - PullRequest
       4

Рекурсия, Arraylist

1 голос
/ 01 декабря 2010

Моя домашняя работа - создать рекурсивный статический метод, который получает массив целых чисел в качестве параметра.Предположим, что есть элементы со значением 0, и я хочу переключить его на 5, элементы со значением 1 удаляются, а элементы со значением 2 перемещаются в конец.Остальное остается как есть.

Я могу придумать способы сделать это без использования рекурсии, но как я могу решить эту проблему с помощью рекурсии?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 01 декабря 2010

Это совсем не похоже на проблему, которая поддается мне рекурсии.Тем не менее, если вы отчаянно хотите сделать это таким образом, посмотрите на использование List.subList в качестве способа искусственного создания «рекурсивного» случая (путем обрезания элементов спереди) и использования «основания»случай пустого списка.

2 голосов
/ 01 декабря 2010

Ваш базовый случай - это список длиной 1, с которым легко разобраться.

Список длины 2, в котором вы знаете, что последний 1 элемент уже обработан, справиться с ним немного сложнее.

Список длины N, где вы знаете, что последние N-1 элементы были обработаны, должен быть управляемым.

Итак, вы можете взять список, передать список минус первый элемент на следующий уровень рекурсии, а затем, когда вы вернете обработанный подсписок, обработать этот первый элемент.

@ Стивен Шланскер прав, хотя это не совсем рекурсивная задача.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...