使用递归实现数的全排列

来源:互联网 发布:嘉艺云管理平台软件 编辑:程序博客网 时间:2024/04/30 12:13

设有一个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);        }    } 
0 0
原创粉丝点击