JAVA 一个有N(例如10)个元素的数组,要以5个为一组遍历这十个元素的...
发布网友
发布时间:2024-08-19 23:20
我来回答
共1个回答
热心网友
时间:2024-08-23 06:00
/**
*
* JAVA 一个有N(例如10)个元素的数组,要以5个为一组遍历这十个元素的数组,不能出现重复
*
*/
public class Test939 {
private static int [] tempArray;
private static int count;
private static int countSize;
public static void main(String[] args) {
int [] src=new int[]{1,2,3,4,5,6,7,8,9,10};
countSize=5;
tempArray=new int[countSize];
f(src,countSize);
}
// 递归:
public static void f(int[] src, int n) {
if (n==1) {
for (int i =0; i < src.length; i++) {
tempArray[countSize-n]=src[i];
System.out.print(++count+":");
for(int o:tempArray){
System.out.print(o+" ");
}
System.out.println();
}
} else {
for (int i = 0; i < src.length-n+1; i++) {
tempArray[countSize-n]=src[i];
int [] temp = subarrs(src,i);
f(temp, n-1);
}
}
}
// 传入一个数组的索引,截取数组索引以后的数组为一个新数组(不包含该索引值)
public static int[] subarrs(int[] aa, int r) {
int[] subarry = new int[aa.length - 1 - r];
int j = 0;
if (r < 0 || r >= aa.length - 1) {
return null;
} else {
for (int i = 0; i < aa.length; i++) {
if (i > r) {
subarry[j] = aa[i];
j++;
}
}
return subarry;
}
}
}
热心网友
时间:2024-08-30 09:16
/**
*
* JAVA 一个有N(例如10)个元素的数组,要以5个为一组遍历这十个元素的数组,不能出现重复
*
*/
public class Test939 {
private static int [] tempArray;
private static int count;
private static int countSize;
public static void main(String[] args) {
int [] src=new int[]{1,2,3,4,5,6,7,8,9,10};
countSize=5;
tempArray=new int[countSize];
f(src,countSize);
}
// 递归:
public static void f(int[] src, int n) {
if (n==1) {
for (int i =0; i < src.length; i++) {
tempArray[countSize-n]=src[i];
System.out.print(++count+":");
for(int o:tempArray){
System.out.print(o+" ");
}
System.out.println();
}
} else {
for (int i = 0; i < src.length-n+1; i++) {
tempArray[countSize-n]=src[i];
int [] temp = subarrs(src,i);
f(temp, n-1);
}
}
}
// 传入一个数组的索引,截取数组索引以后的数组为一个新数组(不包含该索引值)
public static int[] subarrs(int[] aa, int r) {
int[] subarry = new int[aa.length - 1 - r];
int j = 0;
if (r < 0 || r >= aa.length - 1) {
return null;
} else {
for (int i = 0; i < aa.length; i++) {
if (i > r) {
subarry[j] = aa[i];
j++;
}
}
return subarry;
}
}
}