全排列的递归实现(Java版)
2018-03-10 11:40
435 查看
public class AllSort{ public static void main(String[] args) { char buf[]={'a','b','c'}; perm(buf, 0, buf.length-1); } public static void perm(char[] buf, int start, int end) { //当读到数组最后一个元素时,遍历数组 if(start == end) { for (char c : buf) { System.out.print(c); } System.out.println(""); } else { for(int i = start; i <= end; i++) { swap(buf, start, i); perm(buf, start + 1, end); //由于上面进行了交换,这里需要还原数组,因此再进行一次交换 swap(buf, start, i); } } } //交换函数 public static void swap(char[] buf, int i, int j) { char temp = buf[i]; buf[i] = buf[j]; buf[j] = temp; } }
相关文章推荐
- java 递归实现元素全排列
- java递归实现全排列
- Java 递归实现全排列
- java递归实现全排列
- Java递归实现全排列
- Java用递归实现的数组的全排列
- JAVA语言之全排列的递归实现
- JAVA递归实现全排列
- 递归实现全排列(java版)
- 树形目录的递归实现(一)数据库+jsp+javabean
- 全排列递归实现的讨论
- 用递归实现全排列
- java实现的递归方法逆序对查找
- 全排列的递归实现
- Java实现折半查找(二分查找)的递归和非递归算法
- java语言实现的二叉树的各种操作(包括递归与非递归遍历二叉树,求二叉树的高度,节点总数,叶子节点等)
- C++全排列递归实现
- java递归实现文件的删除和拷贝
- Java实现折半查找(二分查找)的递归和非递归算法
- 用递归的方式实现文件内容搜索(java)