【发布时间】:2011-05-03 23:01:06
【问题描述】:
我在 Java 中有一个任意长度的数组,我想生成它们所有可能的排列。对固定长度执行此操作的简单方法是一系列嵌套的 for 循环,但由于数组的长度未知,所以这里不是一个选项。有没有一种简单的方法可以在 Java 中实现这一点?
【问题讨论】:
-
只需在搜索框中输入
[java] permutation... -
如果是数组,可以使用array.length;如果它是一个列表,你可以使用 list.size()。我不明白“不是一种选择”。
-
@duffymo:所以我希望看到您在获得代码中的数组长度后即时生成嵌套的 for 循环...
-
检查 guava 的 Collections2.permutation: code.google.com/p/guava-libraries/source/browse/guava/src/com/…
-
@JanZyka - 这与嵌套循环无关,您只需要一个堆栈数据结构。归根结底,所有流控制都只是 ifs 和 gotos。
标签: java permutation