0

我正在尝试创建一个函数,通过多维向量搜索我想要的项目。但是发生的事情是,搜索只比较向量中的第一项 -> 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;           
                    }     
            }
        }
4

1 回答 1

1

只是一个猜测,也许vectorName不是正方形,所以改变:

for (int k = 0; k<vectorName.size(); k++)

for (int k = 0; k<vectorName[i].size(); k++)
                            ^^^
于 2013-08-16T22:31:44.773 回答