用递归对数组进行全排列
来源:互联网 发布:ubuntu uefi 安装 编辑:程序博客网 时间:2024/05/18 03:49
public class AllPaiLie { public static void main(String[] args) { char[] c = {'a', 'b', 'c', 'd', 'e'}; char[] tmp = new char[c.length];//临时数组,用于存放全排列的每一种可能 int[] flag = new int[c.length];//标记数组,0代表该值没用过,1代表已用过 pailie(c, flag, tmp, 0); } /** * @param c 待全排列的字符数组 * @param flag 标记数组,0代表该值没用过,1代表已用过 * @param tmp 临时数组,用于存放全排列的每一种可能 * @param j 临时数组的下标,同时也表示当前是第几层 */ public static void pailie(char[] c, int[] flag, char[] tmp, int j) { for (int i = 0; i < c.length; i++) { if (flag[i] == 1) { //已用过则继续找下一个 continue; } flag[i] = 1;//标记为已用过 tmp[j] = c[i];//将当前值放在临时数组中,下标为当前所在的层数 if (j == c.length - 1) {//到最后一层了就直接输出并返回到上一层 System.out.println(tmp); return ; } pailie(c, flag.clone(), tmp, j + 1); flag[i] = 0;//用完之后恢复到未用状态,以便让下一层用 } }}
0 0
- 用递归对数组进行全排列
- 使用递归对数组元素进行全排列
- 对一个字符数组进行全排列
- 用递归算法进行全排列
- 给定一个数组,对该数组进行全排列
- 对数组全排列
- 采用分治法对数组元素进行全排列
- 对一个字符数组的元素进行全排列
- 非递归数组全排列
- 递归实现数组全排列
- 数组全排列递归实现
- Java用递归实现的数组的全排列
- 用递归求数组全排列(java)
- 用递归输出一维数组的全排列
- 递归的方法进行全排列
- Java 数组全排列 递归实现
- 数组元素全排列(递归版本)
- 递归思想输出数组全排列
- Const,Const函数,Const变量,函数后面的Const
- 为ListView同时设置点击时的背景和点击松手之后的背景
- JS动态修改界面元素后,其增加元素的class无效
- SSI框架总结
- 精致树叶鼠标指针(两款)
- 用递归对数组进行全排列
- Linux workqueue 使用
- Oracle触发器的概念和类型
- Android 中自定义控件之判断还剩多少可输入字符的EditText
- 上研后的一些体会
- 黑马程序员: 关于Class<T>类的API接口整理
- 村里有个姑娘叫小花
- hdu 4975 A simple Gaussian elimination problem.(网络流 + 判多解)
- mysql 日期操作