【思想】递归
public class Test
{
static int[] a = new int[10];
public static void main(String[] args)
{
for(int i = 0;i < 10;i++)
{
a[i] = i;
}
f(0);
}
public static void f(int k)
{
//if这里是递归的中止条件,如果是全排的话,终止条件为k==a.length或k==a.length-1
//如果是从m个数字中任取n个数字全排的话,终止条件为k==n
if(k == a.length)
{
for(int i = 0;i<a.length;i++)//此处用于放置执行全排后要执行的具体判断或操作
{
System.out.print(a[i]);
}
System.out.println();
}
for(int i = k;i < a.length;i++)
{
int x = a[k];a[k] = a[i];a[i] = x;
f(k+1);
x = a[k];a[k] = a[i];a[i] = x;
}
}
}