java全排列算法实现
2016-05-04 00:00
519 查看
摘要: java 数据结构 算法 全排列算法
/** * new String[]{"a","b","c"} * */ private static ArrayList<ArrayList<String>> permute(String[] num) { ArrayList<ArrayList<String>> result = new ArrayList<ArrayList<String>>(); result.add( new ArrayList<String>()); for ( int i = 0; i < num. length; i++) { //循环出每一个数字 ArrayList<ArrayList<String>> current = new ArrayList<ArrayList<String>>(); for (ArrayList<String> l : result) { for ( int j = 0; j < l.size()+1; j++) { l.add(j, num[i]); //i;控制插入的内容,j:控制插入的位置 ArrayList<String> temp = new ArrayList<String>(l); //保存插入后list中的内容 current.add(temp); //把copy后的list放入,一个零时的List; l.remove(j); //去掉插入的数据,保持原样,方便下次在不同的位置插入数据 } } result = new ArrayList<ArrayList<String>>(current); } return result; } 推荐大家一本电子版的《数据结构与算法java版》,希望学习算法的友友直接拿去。 资料地址:http://www.quzhuanpan.com/download/checkResult.action?id=78005&type=3
相关文章推荐
- ubuntu用ppa安装jdk
- 如何保护你的class文件--class文件加密
- 使用freemarker生成word文档时特殊字符的处理
- java 对html标签 读取值 增删改 对应的值,对应的标签名称
- Spring4.04中实现bean的scope(范围)设置为session或者request
- 用Spring4.04来管理Servlet
- java中的四种权限
- jdk7 java.lang.VerifyError: Expecting a stackmap f
- java如何获取SQL查询结果集中的行数和列数
- JAVA - 优雅的记录日志(log4j实战篇) (转)
- java日志设置及常用配置
- 在Eclipse中连接SQL Server 2008数据库
- JAVA自学之路 ——尚学堂科技马士兵
- Java中把对象放入ArrayList集合中实现方法
- scala eclipse建立scala maven项目
- JDK源码分析之集合04HashMap
- SpringMVC详细示例实战教程
- java中的foreach遍历
- java学习之路之web知识总结
- 7. 【创建和销毁对象】避免使用终结方法finalize