**全排列问题递归实现
**
package wang;
/*全排列问题*/
public class Mymath {
public static void swap(Object s[],int k,int m){
Object t=s[k];
s[k]=s[m];
s[m]=t;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Object[] list={'a','b','c','d'};
perm(list,0,3);
}
public static void perm(Object[] list,int k,int m)
{
//产生list[k:m]的所有排列
if(k==m)
{
//剩下一个元素
for(int i=0;i<=m;i++)
{
System.out.print(list[i]);
System.out.println();
}
}
else
//还有多个元素,递归产生排列
for(int i=k;i<=m;i++)
{
Mymath.swap(list,k,i);
perm(list,k+1,m);
Mymath.swap(list,k,i);
}
}
}