将vector <string>转换为2D vector <int>,不带vector <vector <int>&gt;?

时间:2017-04-06 03:31:24

标签: c++

我有一个2D矢量字符串:

AAB
BAB
BAA

我想基于它在每个[i][j]找到的值来构建一个整数的2D向量,我已经使用std::vector<std::vector<int>>生成了这个值来生成:

110
010
011

但是这对于后来使用整数的2D向量证明是有问题的,因为我需要在BFS中使用它但是作为std::vector<int>。那么有没有办法在不使用std::vector<std::vector<int>>的情况下保留2D模式?

1 个答案:

答案 0 :(得分:0)

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

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