在Java中生成所有排列

时间:2011-05-03 23:01:07

标签: java permutation

  

可能重复:
  Generating all permutations of a given string

我在Java中有一个任意长度的数组,我想生成它们的所有可能的排列。对固定长度执行此操作的简单方法是一系列嵌套for循环,但由于数组长度未知,因此这不是一个选项。在Java中有没有直接的方法来实现这一点?

2 个答案:

答案 0 :(得分:3)

使用递归函数,而不是循环。每次调用方法时,都应该在数组的较小部分,并在length = 0时停止。这个link应该可以帮助你设计你的函数。

答案 1 :(得分:0)

就性能而言,它可能是也可能不是最优的,但是如果你正在寻找一种方法来编写相对较少的代码并使其清晰可维护,那么你需要一个递归方法而不是嵌套循环