全排列问题的JAVA代码
来源:互联网 发布:windows Api编程过程 编辑:程序博客网 时间:2024/05/25 08:13
全排列问题可以促成实现很多问题,比如8皇后问题等
递归实现全排列思想:以字符数组为例,第一个字符和后面每一个字符交换都可以作为全排列的一种,不妨让第一个字符和每个字符交换一次,但是这仅仅完成了第一步,以第二个字符出发和第一个字符出发原理一样,所以考虑递归解决递归过程就是这种交换的过程
java代码实现如下:
public class Test3 {
public static void main(String[] args){
char[] charArray= {'a','b','c','\0'};
Test3 test3 = new Test3();
test3.permutation(charArray,0);
}
public void permutation(char[] string ,int beginStr) {
if(string[beginStr] == '\0'){
System.out.println(string);
}else{
for(int i = beginStr; string[i]!='\0';i++){
char temp = string[i];
string[i] = string[beginStr];
string[beginStr] = temp;
permutation(string,beginStr+1);
temp = string[i];
string[i] = string[beginStr];
string[beginStr] = temp;
}
}
}
}
程序运行结果:
abc acb bac bca cba cab
debug运行过程有助于理解为什么是这样的输出顺序,递归本质是栈机制,运行入栈出栈过程繁琐,而且很多步都是浪费的
- 全排列问题的JAVA代码
- java 全排列问题
- 全排列问题 java
- java permutation关于全排列的问题
- 全排列的问题
- 全排列java代码实现
- Java的全排列
- java实现全排列问题
- 列举全排列的递归算法的java代码实现
- 全排列的递归实现(java代码)
- 老掉牙的 全排列问题
- 数字的全排列 问题
- 字符串的全排列问题
- 集合的全排列问题
- 字符串的全排列问题
- 字符串的全排列问题
- 数组的全排列问题
- 字符串的全排列问题
- ACM程序设计 书中题目 B
- TLS(线程局部存储)以及基于TLS技术的反调试技术
- RTP/RTCP协议介绍
- 详解Java的Spring框架中的注解的用法
- C语言 内存管理
- 全排列问题的JAVA代码
- Linux 系统下 NVIDIA 显卡驱动,GNOME 桌面环境不兼容
- 洛谷 3654_First Step (ファーストステップ)_模拟
- 数组排序sort()用法
- Python面向对象编程(5)——类的特殊方法
- pinterest怎么打不开了,打不开Pinterest的办法
- Google Analytics使用说明
- test
- 小白的python机器学习路(关于代码中逗号的使用以及ZIP函数和矩阵合并函数的使用)