web-dev-qa-db-ja.com

Java)ですべての順列を生成します

重複の可能性:
指定された文字列のすべての順列を生成する

Javaには任意の長さの配列があり、それらの可能なすべての順列を生成したいと思います。固定長に対してこれを行う簡単な方法は、ネストされた一連のforループですが、配列の長さが不明であるため、ここではオプションではありません。 Javaでこれを実現する簡単な方法はありますか?

10
chimeracoder

ループの代わりに再帰関数を使用します。メソッドを呼び出すたびに、配列のより小さな部分に配置し、長さが0のときに停止する必要があります。この link は、関数の設計に役立ちます。

3

パフォーマンスに関しては最適な場合とそうでない場合がありますが、比較的少ないコードを記述し、それを明確で保守しやすいものにする方法を探している場合は、ネストされたループではなく再帰的な方法が必要です。

0
Trott