您的位置:首页 > 编程语言 > Java开发

Java 递归实现全排列

2016-10-18 20:58 246 查看
/**

 * Created by XJTUSE-PC on 2016/10/18.

 */

public class Permutation

{

    public static void main(String[] args)

    {

        char[] ch = {'a', 'b', 'c', 'd'};

        permutation(ch, 0);

    }

    public static void permutation(char[] ch, int k)

    {

        if(k == ch.length -1)
        {

//输出全排列结果

            for(int i = 0; i < ch.length; i ++)

            {

                System.out.print(ch[i]);

            }

            System.out.println();

            return;
        }

  //每一个元素都领跑一次

        for(int i = k; i < ch.length; i ++)
        {

            char a = ch[k];

            ch[k] = ch[i];

            ch[i] = a;

            permutation(ch, k + 1);

//回溯

            a = ch[k];

            ch[k] = ch[i];

            ch[i] = a;

        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: