package 分治法;

import java.util.Arrays;

/*

* 将数字 1 - n进行全排列 按字典序从小到大输出

* 如 1 - 3

* 123 132 213 231 312 321

*/

class GenerateP{

private int n; // 求 1-n所有数字的全排列

private final int maxn = 110;//最多可排列组合的长度 1-100

private boolean [] hashTable;

private int [] p;

public GenerateP(int n) {

// TODO Auto-generated constructor stub

this.n = n;

hashTable = new boolean[maxn];

p = new int [maxn];

Arrays.fill(hashTable, false);

Arrays.fill(p, 0);

}

public void generatep(int index){

if(index == n + 1){

for(int i = 1; i <= n; i++){

System.out.print(p[i]);

}

System.out.println();

return;

}

for(int x = 1; x <= n; x++){

if(hashTable[x] == false){

p[index] = x;

hashTable[x] = true;

generatep(index + 1);

hashTable[x] = false;

}

}

}

}

public class Main {

public static void main(String[] args) {

// TODO Auto-generated method stub

GenerateP generateP = new GenerateP(3);

generateP.generatep(1);

}

}

原文:http://www.cnblogs.com/mlsq2015/p/5898919.html

java 分治法排序_分治法实现1-N的数字按字典序全排列组合 Java语言相关推荐

  1. java 中的排序_浅谈java中常见的排序

    浅谈java中常见的排序 学过java的人都知道,排序这一部分初次接触感觉还是有点难以理解,很多地方也会用到.然而,在java中常见的排序方法:冒泡排序,选择排序,插入排序等等.下面就让我们一起揭开他 ...

  2. java 编译器获得型号_关于编译器构造:如何找到已编译类的目标Java版本?

    重复: Tool to read and display Java .class versions 如果我有一个已编译的Java类,是否可以仅从类文件中得知其目标版本兼容性是什么? 具体来说,我有许多 ...

  3. java原始类型排序_海牛部落 java 系列教程:(5)数组和排序

    1 数组 数组是编程语言中最常见的的数据结构,其本身是个引用类型数据. java数组要求所有的数组元素具有相同的数据类型. 一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,数组的长度将不可变 ...

  4. java util包排序_实现java.util.Comparator接口,对对象集合进行多属性组合排序

    Commons - BeanUtils 提供了很多功能,其中一个很有用的是对对象集合进行排序,如Collections.sort(peoples, new BeanComparator("a ...

  5. map根据value值排序_凯哥带你从零学大数据系列之Java篇---第十九章:集合(Map+Collections)...

    温馨提示:如果想学扎实,一定要从头开始看凯哥的一系列文章(凯哥带你从零学大数据系列),千万不要从中间的某个部分开始看,知识前后是有很大关联,否则学习效果会打折扣. 系列文章第一篇是拥抱大数据:凯哥带你 ...

  6. java 文件内容排序_在Java中对2个大型文本文件进行排序的最佳方法是什么?

    我正在构建一个简单的 Java应用程序,涉及从csv文件中读取信息. csv文件中的信息以这种形式出现: "ID","Description" "AB ...

  7. java map 值排序_使用Java8 Stream API对Map类型按照键或值进行排序

    在这篇文章中,您将学习如何使用Java对Map按照键或值进行排序.前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题.所以我决定写这样一篇文章.在Ja ...

  8. java 英文字符串排序_英文字符串排序算法

    编程工作偶尔会遇到一些不常见问题需要处理,学编程处理问题也难免需要熟悉一些算法 以前学习的时候就遇到过一个看似简单的排序算法问题,当时的解决办法是我没有用过的,在此记录一下'' 问题 - 英文字符串排 ...

  9. java线程实现排序_【多线程实现快速排序】

    快速排序算法实现文件QuickSort.java package quick.sort; import java.util.concurrent.Callable; import java.util. ...

最新文章

  1. idel 智能提示_intellij idea设置代码自动提示快捷键的详细方法.
  2. Xor HDU - 6899
  3. 将Wiremock集成到Spring Boot Java Web应用程序中以模拟外部依赖关系
  4. android开发实现静默安装(fota升级)
  5. Ceylon 1.0.0
  6. 开课吧:常见的数据可视化分析工具有哪些?
  7. MemTest64内存测试
  8. 计算机应用基础上机实验报告怎么写,excel实验报告模板
  9. cs1.6服务器弹道优化,cs1.6弹道优化参数
  10. Ubuntu本地部署Nebula图数据库
  11. 谈个人价值观与企业价值观(2014年收官之作,值得深思)
  12. js 获取ip地址进行跳转
  13. vue项目中解决打开新页浏览器拦截的问题
  14. 【Linux】——Ubuntu18.04安装
  15. antd table合并行或者列(动态添加合并行、列)
  16. GOF23设计模式总结
  17. Mapbox、GeoServer离线部署矢量地图
  18. a链接使用ajax 页面跳转,关于a标签的链接跳转
  19. HDU:6697-Closest Pair of Segments(空间内的最近线段)
  20. 大学生网购市场环境分析

热门文章

  1. 网络现代高科技人工智能宣传海报,没有脑洞怎么办,模板拿走
  2. 在PPT中,用好PNG图片素材,免抠才是王道
  3. 流程图和布局套件模板
  4. linux下的汇编,linux下的汇编分析
  5. 3GPP realease 5G realease
  6. C++函数重载解析细节
  7. linux shell删除所有文件夹下指定扩展名(关键字)的所有文件
  8. python中easygui有几种_一、Python 模块EasyGui详细介绍
  9. nodejs原始连接mysql
  10. php设置加载动画,如何用CSS3制作页面圆圈加载动画(附代码)