全排列(java)

来源:互联网 发布:网络服务提供商与数据 编辑:程序博客网 时间:2024/06/04 23:00
import java.util.Scanner;public class Test{    public static void main(String[] args) {        Scanner inp=new Scanner(System.in);        int n=inp.nextInt();        String a[]=new String[n];        for(int i=0;i<n;i++)a[i]=inp.next();        perm(a,0,n-1);    }    public static void perm(String a[],int left,int right){        if(left==right){            for(int i=0;i<=right;i++)                System.out.print(a[i]+" ");        }        else{            for(int i=left;i<=right;i++){                Swap(a,left,i);                perm(a, left+1, right);                Swap(a,left,i);            }        }    }    public static void Swap(String a[],int x,int y){        String temp=a[x];        a[x]=a[y];        a[y]=temp;    }}
原创粉丝点击