我有一个小问题。
我正在使用多维矢量,并且想在给定位置向其中插入一些值。我正在wxWidgets中创建数独,并且正在获取玩家放置的图块,并希望将其存储在我的mVector中。
mVector看起来像这样。
vector< vector<string> > board{9, vector<string>(9)};
首先,我像这样添加值。
board[row][col] = value;
“值”是一个字符串,行/列是整数。
这是向mVector添加值的合法方法吗?我之所以这样问是因为,当我更新开发板时,由于上述原因,由于某种原因,我无法在解决开发板的过程中运行其他功能,从而给开发板提供了提示等。在我将新值存储到它之前,所有功能都需要正确处理。我是否需要为矢量使用其他类型的内置函数,例如insert,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";
Working example