使用Java中的foreach对整数数组进行排序

时间:2013-02-20 23:00:24

标签: java arrays sorting foreach int

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

  

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

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

因为我只留下了foreach,所以我无法想办法引用数组中的其他元素来比较它们。有什么想法吗?

2 个答案:

答案 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语句不会告诉您仅使用