输出数组的全排列java_java用sort对一个数组排序

输出数组的全排列java_java用sort对一个数组排序packagetest;importjava.util.ArrayList;importjava.util.List;publicclass Test{staticList<int[]>allSorts=newArrayList<int[]>();publicstaticvoidpermutation(int[]nums,i…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

package test;
import java.util.ArrayList;
import java.util.List;

public class Test {
    static List<int[]> allSorts = new ArrayList<int[]>();
    public static void permutation(int[] nums, int start, int end) {
        if (start == end) { // 当只要求对数组中一个数字进行全排列时,只要就按该数组输出即可
            int[] newNums = new int[nums.length]; // 为新的排列创建一个数组容器
            for (int i=0; i<=end; i++) {
                newNums[i] = nums[i];
            }
            allSorts.add(newNums); // 将新的排列组合存放起来
        } else {
            for (int i=start; i<=end; i++) {
                int temp = nums[start]; // 交换数组第一个元素与后续的元素
                nums[start] = nums[i];
                nums[i] = temp;
                permutation(nums, start + 1, end); // 后续元素递归全排列
                nums[i] = nums[start]; // 将交换后的数组还原
                nums[start] = temp;
            }
        }
    }      
    public static void main(String[] args) {
        int[] numArray = {1, 2, 3, 4, 5, 6};
        permutation(numArray, 0, numArray.length - 1);
        int[][] a = new int[allSorts.size()][]; // 你要的二维数组a
        allSorts.toArray(a);
        // 打印验证
        for (int i=0; i<a.length; i++) {
            int[] nums = a[i];
            for (int j=0; j<nums.length; j++) {
                System.out.print(nums[j]);
            }
            System.out.println();
        }
        System.out.println(a.length);
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183145.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • golang 2021.10.3 激活码-激活码分享

    (golang 2021.10.3 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日
    46
  • DHCP协议详解

    DHCP协议详解文章目录什么是DHCPDHCP协议DHCP报文种类DHCP报文格式DHCP工作流程IP地址分配方式租约表工作流程服务器处理流程什么是DHCPDHCP(DynamicHostConfigurationProtocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局…

    2022年5月10日
    58
  • Linux查看端口使用状态、关闭端口方法

    Linux查看端口使用状态、关闭端口方法前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。1.可以通过”netstat-anp”来查看哪些端口被打开。(注:加参数’-n’会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049,

    2022年7月20日
    24
  • GG修改器怎么激活成功教程游戏保护_gg修改器游戏保护修改不了怎么办

    GG修改器怎么激活成功教程游戏保护_gg修改器游戏保护修改不了怎么办今天阿森给大家发一个GG修改器的教程,很多朋友遇到一些脚本程序不知道怎么样使用!今天就给大家发一个详细的!GG修改器使用脚本超详细图文教程讲解一,框架是什么我们使用gg修改器的话,就需要用到root,但是,并不是所有人都会去root,所以这个时候框架就出现了,框架的话相当于给了gg修改器一个root权限二,脚本是什么脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事…

    2025年9月12日
    3
  • Java异或什么意思_0与0异或

    Java异或什么意思_0与0异或异或^的几个作用一、交换两个整数的值而不必用第三个参数a=9;b=11;a=a^b;1001^1011=0010b=b^a;1011^0010=1001a=a^b;0010^1001=1011a=11;b=9;二、奇偶判断^a操作就是将a中的每一位按位逐一进行异或,例如a=4’b1010,则b=1^0^1^0=0,由此可以判断a中为1的位数是奇数还是偶数,是一个便捷的操作。三、格雷码(Graycode)格雷码(Graycode)是由贝…

    2022年10月4日
    3
  • linux如何查看nginx是否启动

    linux如何查看nginx是否启动

    2021年10月19日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号