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