我正在尝试创建一个函数,用于在多维 vector 中搜索我想要的项目。但是发生的事情是搜索只比较 vector 中的第一项 -> vectorName[0][0] 而不是以下任何一项,即 vectorName[0][1] 等等。我该如何修复此函数,以便它搜索多维 vector 中的所有项目并将其与键进行比较?
void linearSearch(vector<vector<string>> &vectorName, string key)
{
for (int i =0; i < vectorName.size(); i++)
{
for (int k = 0; k<vectorName.size(); k++)
{
if (key == vectorName[i][k])
{
cout << "Found " << vectorName[i][k] << " at "
<< i << ","<< k <<endl;
}
}
}
最佳答案
只是猜测,也许 vectorName
不是正方形,所以更改:
for (int k = 0; k<vectorName.size(); k++)
到
for (int k = 0; k<vectorName[i].size(); k++)
^^^
关于c++ - C 多维 vector ;线性搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283040/