我试图通过c ++中的邻接列表来表示图形。到目前为止,我只想打印给定顶点所附着的顶点。我是通过矢量和列表来做到这一点的。以下是代码
#include<iostream>
#include <vector>
#include <list>
using namespace std;
const int N=4;
int main()
{
std::vector <std::list<int> > adjList(N);
adjList[0].push_back(1);
adjList[0].push_back(2);
adjList[1].push_back(2);
adjList[1].push_back(0);
adjList[2].push_back(0);
adjList[2].push_back(1);
adjList[2].push_back(3);
adjList[3].push_back(2);
std::vector<std::list<int> >::iterator i;
int c=0;
for (std::vector<std::list<int> >::iterator i = adjList.begin(); i != adjList.end(); ++i)
{
cout<<"vertices connected to node "<< c <<"are";
std::list<int> li=*i;
for (std::list<int>::iterator iter=li.begin(); iter!=li.end();++iter)
{
cout<<*iter<<" ";
}
cout<<endl;
c++;
}
return(0);
}
代码编译正常,但没有提供任何输出。我正在使用代码块和GNU GCC,C ++ 98编译器来编译我的代码。
答案 0 :(得分:-1)
对循环计数器'i'和'iter'使用后增量运算符。