C++ 在二维向量的特定位置插入

C++ 在二维向量的特定位置插入,c++,vector,C++,Vector,我有一个2d向量,它代表一个2d网格;例如,grid[0][2]。我需要“插入”-在这里可能不是正确的词。一个特定位置的向量,比如说网格[3][2]肯定会有一个网格[0][0],但是当我需要插入网格[3][2]时,它前面可能除了网格[0][0]之外什么都没有,而且中间需要有一个空间供以后使用。有没有办法做到这一点 谢谢你的帮助 ps:我应该注意到向量的大小是未知的(它们会随着时间增长)我不确定是否正确理解您的要求,但是: std::vector<std::vector<int>

我有一个2d向量,它代表一个2d网格;例如,
grid[0][2]
。我需要“插入”-在这里可能不是正确的词。一个特定位置的向量,比如说
网格[3][2]
肯定会有一个
网格[0][0]
,但是当我需要插入
网格[3][2]
时,它前面可能除了
网格[0][0]
之外什么都没有,而且中间需要有一个空间供以后使用。有没有办法做到这一点

谢谢你的帮助


ps:我应该注意到向量的大小是未知的(它们会随着时间增长)

我不确定是否正确理解您的要求,但是:

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

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

grid[3][2] = 42;
std::向量网格(4);//4排
网格[3]。调整大小(3)//调整第四行的大小
网格[3][2]=42;
然后,您的二维网格将“看起来”如下所示:

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

-如果数组小于您的需要,请调整其大小,然后进行插入。@Robinson我需要将网格引用为
grid[3][2]
,否则,如果将X3 Y2推到
grid[0][1]
不,我的意思是,如果您看到x,y不存在于数组中,因为它不够大,调整数组大小,直到它足够大,可以存储x,y,然后再存储x,y:p.@Robinson抱歉,我没听清你说的话,不过还是要谢谢你!:染料。这就是我的意思:p.@jrok很有趣,似乎我有点困惑;我可能需要温习一下我的知识。因此,我说我可以引用
grid[3][0]/grid[3][1]和grid[3][2]
是正确的,但不是
grid[2][0]
(直到我创建了它),我会
grid[2]。调整(1)
@Elgoog,是的,这是正确的。请注意,
grid[0]
是有效的-它是一个空向量。@jrok非常感谢!:D