码迷,mamicode.com
首页 > 其他好文 > 详细

全排列

时间:2014-12-16 22:21:41      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   io   color   sp   for   on   div   

package com.perm;

public class Permutation {

    public static void perm(int[] num, int i) {

        if (i < num.length - 1) {

            for (int j = i; j <= num.length - 1; j++) {
                int temp = num[j];

                // 旋转该区间最右边数字至最左边
                for (int k = j; k > i; k--) {
                    num[k] = num[k - 1];// 减法
                }

                num[i] = temp;
                perm(num, i + 1);

                // 还原
                for (int k = i; k < j; k++) {
                    num[k] = num[k + 1];// 加法
                }

                num[j] = temp;
            }
        } else {

            // 显示此次排列
            for (int j = 1; j <= num.length - 1; j++) {
                System.out.print(num[j] + " ");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        int[] num = new int[4 + 1];

        for (int i = 1; i <= num.length - 1; i++) {
            num[i] = i;
        }

        perm(num, 1);
    }
}

 

全排列

标签:style   blog   ar   io   color   sp   for   on   div   

原文地址:http://www.cnblogs.com/missliuxin/p/4168045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!