gpt4 book ai didi

c++ - 在 C++ 中迭代 vector 的 vector

转载 作者:行者123 更新时间:2023-11-28 00:00:40 24 4
gpt4 key购买 nike

我刚开始用 C++ 编写代码,所以我是 STL 的新手。在这里,我尝试迭代存储为 vector 的 vector 的图。

#include <iostream>
#include <vector>
#include <iostream>

using namespace std;

int reach(vector<vector<int> > &adj, int x, int y) {
vector<vector<int> >::iterator it;
vector<int>::iterator i;

for (it = adj.begin(); it != adj.end(); it++)
{
cout << (*it) << endl;
if ((*it) == x)
for (i = (*it).begin(); i != (*it).end(); i++)
{
cout << (*i) << endl;
if ((*i) == y)
return 1;

}
}
return 0;
}

int main()
{

}

我遇到错误 std::vector<int>不是从 const gnu cxx 派生的。有人能指出我正确的方向吗?

最佳答案

*它指向 vector 而不是 int 这就是你出错的原因

下面的代码可能对你有用

    #include <vector>
#include <iostream>

using namespace std;

int reach(vector<vector<int> > &adj, int x, int y) {
vector<vector<int> >::iterator it;
vector<int>::iterator i;

for (it = adj.begin(); it != adj.end(); it++)
{
cout << (*(*it).begin()) << endl;
if (( (*(*it).begin())) == x)
for (i = (*it).begin(); i != (*it).end(); i++)
{
cout << (*i) << endl;
if ((*i) == y)
return 1;

}
}
return 0;
}

int main()
{

}

用于访问使用的 vector 的第一个元素

   (*(*it).begin()) in place of (*it)

如果你正在研究图形,那么使用 vector 数组。有关更多详细信息,请访问以下网址 C++ Depth First Search (DFS) Implementation

关于c++ - 在 C++ 中迭代 vector 的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39319393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com