Сгенерировать все перестановки в Java

Возможный дубликат:
Создание всех перестановок заданной строки

У меня есть массив произвольной длины в Java, и я хотел бы сгенерировать все возможные перестановки из них. Легкий способ сделать это для фиксированной длины - это серия вложенных циклов, но поскольку массив имеет неизвестную длину, это не вариант. Есть ли простой способ выполнить это на Java?

Ответ 1

Используйте рекурсивную функцию вместо петель. Каждый раз, когда вы вызываете метод, должен находиться на меньшей части массива и останавливаться, когда length = 0. Эта ссылка должна помочь вам создать свою функцию.

Ответ 2

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