我有一個2d矢量表示一個2D網格;例如grid[0][2]
。我需要'插入'- 可能不是這裏正確的詞。一個在特定位置矢量說grid[3][2]
肯定會有一個grid[0][0]
但是當需要IM插入到grid[3][2]
裏面可能什麼也比其他grid[0][0]
有需要在之間的空間供以後之前。有沒有辦法做到這一點?插入一個2d矢量的特定位置
謝謝你的幫助。
PS:我要指出的是,向量的大小是不知道(他們會隨時間而增加)
我有一個2d矢量表示一個2D網格;例如grid[0][2]
。我需要'插入'- 可能不是這裏正確的詞。一個在特定位置矢量說grid[3][2]
肯定會有一個grid[0][0]
但是當需要IM插入到grid[3][2]
裏面可能什麼也比其他grid[0][0]
有需要在之間的空間供以後之前。有沒有辦法做到這一點?插入一個2d矢量的特定位置
謝謝你的幫助。
PS:我要指出的是,向量的大小是不知道(他們會隨時間而增加)
我不知道如果我正確地理解您的需求,但:
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]元素,你必須自己添加它。
如果數組小於您的需要,請調整其大小,然後執行插入操作。 – Robinson 2012-04-12 11:08:35
@Robinson我需要將網格引用爲grid [3] [2]'否則,我不知道X3 Y2位於哪裏,如果它被推到'grid [0] [1]' – Elgoog 2012-04-12 11:11:16
不,我的意思是從字面上看,如果你看到x,y不在數組中,因爲它不夠大,請調整數組的大小,直到它足夠大以存儲x,y,然後存儲x,y:p。 – Robinson 2012-04-12 11:25:47