Graph 如何在图形中打印源节点?

Graph 如何在图形中打印源节点?,graph,stl,Graph,Stl,我使用stl创建了无向图。该程序的输出如下: 1 2 02 01 但我还想打印源节点::输出应该是: 0112 102 2 0 1 在代码中我应该做什么 #include<bits/stdc++.h> using namespace std; vector <list<int> >a(4); void addEdge(int i,int j) { a[i].push_back(j); a[j].push_back(i); } int main() {

我使用stl创建了无向图。该程序的输出如下:

1 2

02

01

但我还想打印源节点::输出应该是:

0112

102

2 0 1

在代码中我应该做什么

#include<bits/stdc++.h>
using namespace std;
vector <list<int> >a(4);
void addEdge(int i,int j)
{
  a[i].push_back(j);
  a[j].push_back(i);
}
int main()
{
    vector<list<int> >::iterator it1=a.begin();
    addEdge(0,1);
    addEdge(0,2);
    addEdge(1,2);

    int i=0;
    while(it1!=a.end())

   {

    list<int> it2=*it1;
    list<int>::iterator itr=it2.begin();

    while(itr!=it2.end())
    {
        cout<<*itr<<" ";
        itr++;
    }
    cout<<endl;
    it1++;
  }
}

你所说的“源节点”到底是什么意思?你的例子不太清楚。你的图形是一个三角形。我看到您正在将图形存储为邻接列表。。。但是我不明白你到底想要输出什么源节点应该是it1-a.begin,如果你是这么要求的话。我想在输出中打印源节点,但无法打印。我是stl的初学者。0->1->2这里的源节点是0。我的代码只打印我看到的1->2,你想输出你的列表附加到的节点。好吧,那么你必须按照@IgorTandetnik说的去做,只是不能感谢@dingalapadum和@IgorTandetnik。