所以我得到了这个学校作业:
编写一个方法来获取两个整数数组,并使用foreach循环将
x[]
排序到y[]
。
x[]
的大小为10,并且所有元素都使用Math.random()
初始化,而y[]
的大小为>且填充了零。该方法应将x[]
数组排序为y[]
和return y[]
。
因为我只留下了foreach,所以我无法想办法引用数组中的其他元素来比较它们。有什么想法吗?
答案 0 :(得分:2)
这是我100%认真的回答。
public static void completelyLegitSort(int[] x,int[] y){
for(int n:x){
System.arraycopy(x, 0, y, 0, x.length);
java.util.Arrays.sort(y);
break;
}
}
答案 1 :(得分:0)
int[] crazySort(int[] x, int[] y) {
System.arraycopy(x, 0, y, 0, x.length);
int i = 1; // cheating
for (int n : y) { // <- this is your foreach, you will never use the n variable :D
if (i == x.length) break; // cheating again
for (int j = i-1; j >= 0; j--) { // finally doing something reasonable
if (y[j+1] < y[j]) {
int temp = y[j+1];
y[j+1] = y[j];
y[j] = temp;
}
}
i++;
}
return y;
}
希望老师觉得这很有趣,至少和练习陈述一样有趣。此解决方案使用java“foreach”循环,而exercise语句不会告诉您仅使用 。