设有一个int数组,包含5个元素,每个元素只能取0或1,求这5个元素的全排列。
代码如下:
public static void build(int[] tag,int n){
if(n==tag.length){
for(int i = 0;i<n;i++){
System.out.print(tag[i]+" ");
}
System.out.println();
return;
}
tag[n] =0;
build(tag,n+1);
tag[n] = 1;
build(tag,n+1);
}
public static void main(String[] args) {
int[] tag = new int[5];
build(tag,0);
}
若元素的取值范围为0 到9,求其全排列的代码如下:
public static void build(int[] tag,int n){
if(n==tag.length){
for(int i = 0;i<n;i++){
System.out.print(tag[i]+" ");
}
System.out.println();
return;
}
for(int j = 0;j<10;j++){
tag[n] = j;
build(tag,n+1);
}
}