Java实现n位数字的全排列

时间:2022-10-09 13:47:38

n位数字的全排列共有n!种。

本排列只对字符型数字排列进行输出,输出的是字符型数字。这种问题一般都需要用递归的方法。

java代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class test {
static int k=0;
public static void main(string[] args) {
  int a[]={1,2,3,4,5};
  permutations(a,0,4);
}
public static void permutations(int[]a,int m,int n){
  if(m==n){
    k++;
    system.out.print(k+"个:");
    for(int i=0;i<=n;i++){
      system.out.print(a[i]);
    }
    system.out.println();
  }else{
    for(int i=m;i<=n;i++){
      int temp=a[m];
      a[m]=a[i];
      a[i]=temp;
      permutations(a,m+1,n);
      temp=a[m];
      a[m]=a[i];
      a[i]=temp;
    }
  }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/y999666/article/details/50777127