在c++中使用STL通过邻接表表示图形

graph representation through adjacency lists using STL in c++

本文关键字:表示 图形 c++ STL      更新时间:2023-10-16

我试图通过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编译器来编译我的代码。

对循环计数器'i'和'iter'使用后增量运算符