我正在尝试创建一个函数,通过多维向量搜索我想要的项目。然而,发生的事情是搜索仅比较向量中的第一项 - > vectorName [0] [0]而不是以下任何一个,即vectorName [0] [1]等。如何修复此函数以便搜索多维向量中的所有项并将其与键进行比较?
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;
}
}
}
答案 0 :(得分:1)
只是一个猜测,也许vectorName
不是正方形,所以改变:
for (int k = 0; k<vectorName.size(); k++)
到
for (int k = 0; k<vectorName[i].size(); k++)
^^^