求一个数组元素的所有排列组合

2014-11-24 09:46:43 · 作者: · 浏览: 1
public int func(int[] array,int[][] result){
	//array为要组合的数组,size为长度,firstIndex为要放在所以组合最前面的元素,result保存所有组合,每一行为一个组合
	//所有递归的结果都保存在result中,并且最低层的组合结果保存在最后列
	//返回本次递归组合的个数
	int size = array.cols;
	if(size==0)//如果没有元素,不再向下递归
		return 0;
	int num = 0;//本层递归的总组合数
	int subnum = 0;//本层每个元素作为头元素,其他元素的组合个数(递归返回)
	for(int i=0;i