/**
* 在数组中选取n个数进行组合(不考虑顺序且数据不重复)
* @param 待处理的数组
* @param newarr 组合后得到的数组
* @param k 从哪一个下标的元素开始取
* @param n 需要取出元素的个数
* */
private static void combination(int[] arr,int[] newarr, int k,int n)http://yes-esports.com/ {
//当需要取出的元素个数是0时,说明组合完成
if (n==0) {
for (int i = 0; i < newarr.length; i++) {
System.out.print(newarr[i]);
}
System.out.println();
return;
}
for (int i = k; i <= arr.length-n; i++) {
newarr[newarr.length-n] = arr[i]; //将提取出来的数依次放到新数组中
combination(arr, newarr,i+1, n-1); //按照同样的方法从剩下的元素中选出n-1个元素
}
}
数组元素的组合排列
最新推荐文章于 2021-10-22 10:43:44 发布