实现1-n,n个整数的全排列
递归算法:
{a,b,c,d}全排列包括:a+{b,c,d}的全排列;b+{a,c,d}的全排列;c+{a,b,d}的全排列;d+{a,b,c}的全排列
public class FullPermutation {
static void Permutation(int[] an,int start,int end)
{
if(start==end)
{
for(int i=0;i<=end;i++)
{
System.out.print(an[i]);
}
System.out.println("");
}
else
{
for(int cur=start;cur<=end;cur++)
{
int temp = an[cur];
an[cur] = an[start];
an[start] = temp;
Permutation(an,start+1,end);
temp = an[cur];
an[cur] = an[start];
an[start] = temp;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 3;
int[] an = new int[3];
for(int i = 0;i<n;i++)
{
an[i] = i+1;
}
Permutation(an,0,n-1);
}
}