C++ 转换向量<;字符串>;到二维向量<;int>;没有矢量<;向量<;int>>;?

C++ 转换向量<;字符串>;到二维向量<;int>;没有矢量<;向量<;int>>;?,c++,C++,我有一个字符串的2D向量: AAB BAB BAA 我想根据它在每个[I][j]上找到的值构建一个整数的2D向量,我已经使用std::vector生成了: 110 010 011 但这对于以后使用二维整数向量是有问题的,因为我需要在BFS中使用它,但作为std::vector。那么,有没有一种方法可以在不使用std::vector的情况下保持2D模式?是的,您可以使用一个向量和索引作为v[i][j],而不是使用两个向量和索引作为v[t]。向量的大小将是w*h,而不是具有大小w(宽度)和大小h

我有一个字符串的2D向量:

AAB
BAB
BAA
我想根据它在每个
[I][j]
上找到的值构建一个整数的2D向量,我已经使用
std::vector
生成了:

110
010
011

但这对于以后使用二维整数向量是有问题的,因为我需要在BFS中使用它,但作为
std::vector
。那么,有没有一种方法可以在不使用
std::vector
的情况下保持2D模式?

是的,您可以使用一个向量和索引作为
v[i][j]
,而不是使用两个向量和索引作为
v[t]
。向量的大小将是
w*h
,而不是具有大小
w
(宽度)和大小
h
(高度)的向量


您可以使用单个值
t
作为索引。这里的
t=i+j*w
,和
w
是行宽,在您的情况下
w=3

如何实现?myvector.insert(t,num)?什么类型的
t
int
?使用
v[t]
确实填充了一个向量,但是当我尝试
cout
时,它会生成一行所有元素(实际大小是15x30,所以是450个int)和许多实际上不存在的
0
值。您如何分配这些值?你是不是先把向量调整到450?