美文网首页
全排列算法

全排列算法

作者: 好学人 | 来源:发表于2020-02-20 01:24 被阅读0次

    代码实现

    public class PermutationDemo {
    
        /**
         * 测试
         */
        public static void main(String[] args) {
            int[] array = {1, 2, 3, 4};
            permutation(array, 0);
        }
    
        /**
         * 对数组进行全排列
         */
        public static void permutation(int[] array, int index) {
            if (index == array.length - 1) {
                System.out.println(Arrays.toString(array));
                return;
            }
            for (int i = index; i < array.length; i++) {
                swap(array, index, i);
                permutation(array, index + 1);
                swap(array, index, i);
            }
        }
    
        /**
         * 交换数组中两个元素的位置
         */
        public static void swap(int[] array, int i, int j) {
            int a = array[i];
            int b = array[j];
            array[i] = b;
            array[j] = a;
        }
    }
    

    参考资料

    全排列算法 - bilibili.com

    相关文章

      网友评论

          本文标题:全排列算法

          本文链接:https://www.haomeiwen.com/subject/ekltqhtx.html