JAVA递归全排列

来源:互联网 发布:舞台音乐控制软件 编辑:程序博客网 时间:2024/06/06 00:41
import java.util.Scanner;


public class Permutation {

int n;
int[] c;
int[] b;//b[i]=a[i].uesd;
int[] a;

public Permutation(int an) {
n=an;
c=new int[an];
b=new int[an];
a=new int[an];
for(int i=0;i<an;i++) a[i]=i+1;
}

public void permutation(int j){
if(j<n){
for(int i=0;i<n;i++)
{if(b[i]==1) continue;
else {c[j]=a[i];b[i]=1;permutation(j+1);b[i]=0;}
}
}
else check();
}


public void check(){
for(int i=0;i<n;i++)
{System.out.print(c[i]+" ");}
System.out.println();
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("input n");
Scanner scan=new Scanner(System.in);
int paran=scan.nextInt();
scan.close();
Permutation p=new Permutation(paran);
p.permutation(0);

}


}
0 0
原创粉丝点击