所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。我在这里用代码表示出了N个元素的全排列,代码如下:
//求n个元素的全排列
public class quanpaile
{
public static void main(String[] args)
{
char[] a = "ABCDE".toCharArray();
f(a, 0);
}
//k:当前的交换位置(关注点),与其后的元素交换
public static void f(char[] a, int k)
{
for (int i = k; i < a.length; i++)
{
{ char t = a[k]; a[k] = a[i]; a[i] = t; }//试探
f(a, k + 1);
{ char t = a[k]; a[k] = a[i]; a[i] = t; }//回溯
}
if (k == a.length)
{
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
}
}
}