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;
}
}
}
* 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;
}
}
}
相关文章推荐
- JAVA语言之全排列的递归实现
- 全排列的递归实现(Java版)
- Java递归实现全排列
- JAVA递归实现全排列
- Java用递归实现的数组的全排列
- java 递归实现元素全排列
- 递归实现全排列(java版)
- java递归实现全排列
- java递归实现全排列
- java用递归实现折半查找法
- java实现的递归方法逆序对查找
- 全排列递归实现的讨论
- 全排列的递归实现
- Java实现的全排列和排列
- Java实现折半查找(二分查找)的递归和非递归算法
- 简单全排列C递归实现 没考虑重复情况
- java 递归实现二叉树
- 递归的使用——关于括号排列(分别使用Java和C++算法实现)
- java语言实现的二叉树的各种操作(包括递归与非递归遍历二叉树,求二叉树的高度,节点总数,叶子节点等)
- 回文 用递归实现 java