第一步 对全排列理解
全排列我们可以理解为 先拿一个元素出来 对后面进行全排列,直到最后只剩下一个
元素 我们就得到全排列其中的一种
让后 我们把第一个元素 和后面依次交换交换进行排列 这样我们就得到全排列的全
部,这样我们可以用递归来实现这一过程;
首先 我们需要三个方法来实现这一过程
第一 我们建立 一个全排列方法 代码如下
package zuoye;
class permutation{
public void exchang(int a[],int i,int j){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
public void put(int a[],int n){
for(int i=0;i<n;i++)
System.out.print(a[i]);
System.out.println();
}
public void pri(int a[],int p,int q){
if(p==q)
put(a,q+1);
else
{for(int i=p;i<=q;i++)
{
exchang(a,p,i);
pri(a,p+1,q);
exchang(a,p,i);
}
}}
}
public class ex11 {
public static void main(String [] args){
int a[]=new int [3],L=1;
for(int i=0;i<3;i++)
{
a[i]=L;
L++;
}
permutation w=new permutation();
w.pri(a, 0, 2);
}
}