2

だから私はこの学校の課題を得ました:

2 つの整数配列を取り、foreach ループx[]を使用して並べ替えるメソッドを記述します。y[]

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 に答える