私は1D配列Aと2次元配列Bを持っています。別の配列に基づく2次元配列の並べ替え
arrayA[0] = 'D'
arrayA[1] = 'U'
arrayA[3] = 'R'
arrayA[4] = 'B'
arrayA[5] = 'S'
arrayA[6] = 'H'
arrayB[0][0] = 'D' arrayB[0][1] = 2
arrayB[1][0] = 'B' arrayB[1][1] = 1
arrayB[2][0] = 'R' arrayB[2][1] = 1
arrayB[3][0] = 'U' arrayB[3][1] = 1
arrayB[4][0] = 'H' arrayB[4][1] = 0
arrayB[5][0] = 'S' arrayB[5][1] = 0
arrayB [x] [y]はyに基づいてソートされます。
まず、arrayB [x] [y]からyを優先して文字を使って新しい配列を作成する必要があります。 しかし、yには同じ値があり、3回は1回、0回は2回あります。 この場合、同様の値はarrayAに従ってソートされます。
と新しい配列は次のようにソートされます:私は効率的にそれを行うことができますどのように
D, U, R, B, S, H
?事前
あなたが連想配列を使用していない任意の特定の理由は? 'arrayB ['D'] = 2'? –
arrayAに目的のオフセット2を残しましたか? –