我使用stl。这个程序的输出创建了无向图,如:
1 2
0 2
0 1
但我想打印源节点也::输出应该是:
0 1 2
1 0 2
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++;
}
}