我有一个对象G
这是一个图。我重载了括号运算符,因此G[i]
返回list<int>
(STL列表),它是顶点i
的邻接列表。为什么这两段代码给了我不同的结果?
我有这两段代码都应该遍历G[i]
,但只有第一个工作。
list<int> adj = G[2];
for(list<int>::iterator it = adj.begin(); it != adj.end(); it++) {
cout << *it << " ";
}
这不工作...
for(list<int>::iterator it = G[2].begin(); it != G[2].end(); it++) {
cout << *it << " ";
}
据我所看到的,他们做同样的事情。任何人都可以解释为什么第二个代码段不起作用吗?另外,有没有更好的方式来遍历我的列表?
你是什么意思的“不工作”? – Johnsyweb
它不会产生任何输出。 – Duncan