java 实现全排列

Posted lshao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 实现全排列相关的知识,希望对你有一定的参考价值。

1.用递归实现数据全排列,以数字为例

2.两种实现如下

public static void f(int i) {
        if(i>5) {
            System.out.println(list);
        }else
            for(int j=1;j<=5;j++) {  
                if(!arr[j]) {list.add(j);
                    arr[j]=true;
                    f(i+1);
                    arr[j]=false;
                    list.remove(list.size()-1);
                }
        }
    }
    private static void f1(int i,int[] num) {
        if(i==4)
            System.out.println(Arrays.toString(num));
        else {
            for(int j=i;j<=4;j++) {
                int t=num[i];
                num[i]=num[j];
                num[j]=t;
                f1(i+1,num);
                num[j]=num[i];
                num[i]=t;
            }
        }
    }

 

以上是关于java 实现全排列的主要内容,如果未能解决你的问题,请参考以下文章

Java实现全排列

全排列筛选(java)

java实现全排列问题

字符串全排列 java实现

全排列问题(JAVA和Python实现)

java 实现全排列