2
私は戻ってそうのような列の主要なフォーマットであるタイルの系列のデータを表示するUIコントロールがあります。行メジャーから列メジャーへの変換式?
0 5 10
1 6 11
2 7 12
3 8 13
4 9 14
私のデータソースを、値の単一のアレイは、私のアイテムがすべきの位置を与えます次のように表示されます。
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
行数は可変であり、可変数です。コントロールは私にインデックスを与えるだろうし、私はそれのための適切なデータオブジェクトを見つける必要があります。したがって、適切な項目を取得できるように、その列の主索引を行索引に変換するための式が必要です。
これを行うことができる式を作成しましたが、カウントが完全な正方形であるデータセットに対してのみ有効です。 不完全な四角形でこれを行うにはどうしたらいいですか?例えば、5x60行列(300項目)?建物、一連のループでこれを行うための方法があります
ようにする必要があるものを翻訳の話をするには「マップ」:私はこのマップを維持したくない
for (int i = 0; i < width; ++i) {
for (int j = 0; j < height; ++j) {
int index = j * width + i;
output[i * height + j] = input[index];
}
}
しかし、アイテムの数が潜在的に非常に高くなる可能性があるため、アルゴリズム的なアプローチが必要です。