排列问题java实现
2017-09-19 13:13
260 查看
public class ArrangeTest { public static void main(String[] args) { String[] str= {"A","B","C","D","E"}; perm(str,0,str.length-1); } /** * 产生list的所有排列 * @param list原始的数据存储数组 * @param k交换位置的下标 * @param m */ public static void perm(Object[] list ,int k,int m) { //如果要交换的下标相等则表示只剩下一个元素 if(k==m) { for(int i=0;i<=m;i++) { System.out.print(list[i]+" "); } System.out.println(); }else { //递归产生所有的排列 for(int i=k;i<=m;i++) { swap(list,i,k); perm(list,k+1,m); swap(list,k,i); } } } //交换数组指定下标的两个元素 public static void swap(Object[] l,int i,int k) { if(k!=i) { Object temp=l[k]; l[k]=l[i]; l[i]=temp; } } }
相关文章推荐
- 算法java实现--回溯法--圆排列问题--排列树
- 求全排列问题--- java实现
- java实现多个文件中数据去重问题并按升序排列
- java实现八皇后的排列问题
- java实现字符串排列组合问题
- java实现字符串排列组合问题
- java实现全排列问题
- Cantor展开、全排列问题、魔板问题(JAVA实现)
- java实现1、2、2、3、4、5排列问题
- Java 非递归实现的排列组合中的平均分组问题
- java实现全排列问题
- java 实现的用递归法实现全排列问题
- 字符串全排列问题 java语言实现
- 多个数组间元素排列组合问题求解(Java实现) 标签: 递归排列组合循环
- 多个数组间元素排列组合问题求解(Java实现)
- java实现全排列问题(含相等元素)
- 【原创】蚂蚁爬杆问题之java实现
- 关于《射雕英雄传》的数学算法问题 JAVA实现
- 用JAVA 实现“生产者-消费者”问题
- 用贪心算法实现的背包问题(java语言)