我有一个代表二维网格的二维向量;例如grid[0][2]
。我需要“插入”-这里可能不是正确的词。一个特定位置的向量说grid[3][2]
肯定会有一个grid[0][0]
,但是当我需要插入时,grid[3][2]
它之前可能没有任何东西,除了grid[0][0]
以后需要在两者之间留出空间。有没有办法做到这一点?
谢谢您的帮助。
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] 元素,您必须自己添加它。