在C++中将值插入到多维向量

Inserting values to a multidimensional-vector in C++

本文关键字:向量 插入 C++      更新时间:2023-10-16

我有一个小问题。

我正在使用多维向量,我想在给定位置插入一些值。我正在wxWidgets中制作数独,我正在获取玩家放入的瓷砖,并希望将它们存储在我的mVector中。

mVector看起来像这样。

vector< vector<string> > board{9, vector<string>(9)};

起初,我像这样添加了值。

board[row][col] = value;

"value"是一个字符串,row/col 是整数。

这是向 mVector 添加值的合法方式吗?我问这个是因为当我更新板时,通过上面执行此操作,由于某种原因,我无法运行我正在解决板的其他函数,向板子提供提示等等。在我将新值存储到它之前,所有函数都正常工作。我是否需要为矢量使用其他类型的内置函数,例如插入、push_back或其他东西?

由于您将向量声明为大小 9x9,是的,这是分配值的有效方法。

否则,您可以将董事会声明为

vector<vector<string>> board;

然后填充它

for (int i = 0; i < 9; ++i)
{
    vector<string> row;
    for (int j = 0; j < 9; ++j)
    {
        row.push_back(value);  // where value is whatever you want
    }
    board.push_back(row);
}

但同样,一旦电路板的大小为 9x9,您可以简单地在任何单元格上分配一个值,例如

board[2][4] = "hello";

工作示例