C多维向量;线性搜索

时间:2013-08-16 22:27:08

标签: c++ search vector multidimensional-array

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

1 个答案:

答案 0 :(得分:1)

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

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

for (int k = 0; k<vectorName[i].size(); k++)
                            ^^^