2

所以我得到了这个学校作业:

编写一个方法来获取两个整数数组并x[]使用y[]foreach 循环进行排序。

x[]大小为 10,所有元素都用 初始化Math.random()y[]大小 >10 并用零填充。该方法应将x[]数组排序为y[]return y[]

由于我只剩下 foreach 我无法找到一种方法来引用数组中的其他元素以比较它们。有任何想法吗?

4

2 回答 2

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;
    }
}
于 2013-02-20T23:42:18.023 回答
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”循环,并且练习语句不会告诉您使用它。

于 2013-02-20T23:13:14.800 回答