0

2Dグリッドを表す2Dベクトルがあります。たとえばgrid[0][2]。'挿入'する必要があります-ここでは正しい単語ではないかもしれません。特定の場所にあるベクトルは、grid[3][2]間違いなく存在すると言っていますが、挿入するgrid[0][0]必要がある場合は、その前に他に何もない可能性があり、後で使用するために間にスペースが必要です。これを行う方法はありますか?grid[3][2]grid[0][0]

ご協力ありがとうございました。

ps:ベクトルのサイズは不明であることに注意する必要があります(時間の経過とともに大きくなります)

4

1 に答える 1

2

要件を正しく理解しているかどうかはわかりませんが、次のようになります。

std::vector<std::vector<int>> grid(4);  // 4 rows

grid[3].resize(3)  // resize 4th row

grid[3][2] = 42;

2Dグリッドは次のように「見えます」。

 |
 - 
 |
 -                  <---  3 empty rows
 |
 --------------
 | 0 | 0 | 42 |
 --------------

後で行のサイズを自由に変更できます。行0はありますが、[0] [0]要素はまだないことに注意してください。これは、自分で追加する必要があります。

于 2012-04-12T11:24:59.960 に答える