您的位置:首页 > 编程语言 > Java开发

java排列组合算法代码实现

2014-10-20 15:54 786 查看
java排列组合算法,有需要研究的童鞋可以下载,运行结果如下:





Java代码



package com.zuidaima.test;

/**

*@author www.zuidaima.com

**/

public class Pailie {

public static void main(String[] args) {

int[] ia = {1, 2, 3, 4,5,6,7,8,9,10};

int n = 4;

System.out.println("排列结果 : ");

permutation("",ia, n);

// System.out.println("组合结果 : ");

// combination(ia, n);

}

public static void permutation(String s, int[] ia, int n) {

if(n == 1) {

for(int i = 0; i < ia.length; i++) {

System.out.println(s+ia[i]);

}

} else {

for(int i = 0; i < ia.length; i++) {

String ss = "";

ss = s+ia[i]+"";

//建立没有第i个元素的子数组

int[] ii = new int[ia.length-1];

int index = 0;

for(int j = 0; j < ia.length; j++) {

if(j != i) {

ii[index++] = ia[j];

}

}

permutation(ss, ii, n-1);

}

}

}

public static void combination(int[] ia, int n) {

combination("", ia, n);

}

public static void combination(String s, int[] ia, int n) {

if(n == 1) {

for(int i = 0; i < ia.length; i++) {

System.out.println(s+ia[i]);

}

} else {

for(int i = 0; i < ia.length-(n-1); i++) {

String ss = "";

ss = s+ia[i]+", ";

//建立从i开始的子数组

int[] ii = new int[ia.length-i-1];

for(int j = 0; j < ia.length-i-1; j++) {

ii[j] = ia[i+j+1];

}

combination(ss, ii, n-1);

}

}

}

}

本文由上海java培训机构推荐阅读。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: