C++ C++;Boost图库:构建无向图搜索中访问的顶点向量?

C++ C++;Boost图库:构建无向图搜索中访问的顶点向量?,c++,boost,depth-first-search,boost-graph,C++,Boost,Depth First Search,Boost Graph,从我所能收集到的关于如何使用BGL从已知根节点调用图的DFS的信息来看,我需要按照 class MyVisitor : public boost::default_dfs_visitor { public: void discover_vertex(MyVertex v, const MyGraph& g) const { cerr << v << endl; return; } }; void bfsMethod(Graph

从我所能收集到的关于如何使用BGL从已知根节点调用图的DFS的信息来看,我需要按照

class MyVisitor : public boost::default_dfs_visitor
{
  public:
  void discover_vertex(MyVertex v, const MyGraph& g) const
 {
    cerr << v << endl;
    return;
 }

};


 void bfsMethod(Graph g, int rootNodeId)
 {

   boost::undirected_dfs(g, vertex(rootNodeId,g), boost::visitor(vis)); 

 }

向量必须是访问者的成员。在
discover\u vertex
函数中,只需将发现的元素推入向量

class MyVisitor : public boost::default_dfs_visitor
{
  public:
  void discover_vertex(MyVertex v, const MyGraph& g) const
 {
    cerr << v << endl;
    vv.push_back(v);
    return;
 }

  vector<MyVertex> GetVector() const {return vv; }

 private: 
 vector<MyVertex> vv;

};

void bfsMethod(Graph g, int rootNodeId)
{
  MyVisitor vis;
  boost::undirected_dfs(g, vertex(rootNodeId,g), vis); 
  vector<MyVertex> vctr = vis.GetVector();

 }
class MyVisitor:public boost::default\u dfs\u visitor
{
公众:
void discover_顶点(MyVertex v,const MyGraph&g)const
{

cerr感谢这正是我所怀疑的,但接下来我如何调用boost::undirected_dfs/检索MyVertex的向量?在MyVisitor中只是一个公共getVV方法,还是有一种类似于kruskal调用的更奇特的方法?
class MyVisitor : public boost::default_dfs_visitor
{
  public:
  void discover_vertex(MyVertex v, const MyGraph& g) const
 {
    cerr << v << endl;
    vv.push_back(v);
    return;
 }

  vector<MyVertex> GetVector() const {return vv; }

 private: 
 vector<MyVertex> vv;

};

void bfsMethod(Graph g, int rootNodeId)
{
  MyVisitor vis;
  boost::undirected_dfs(g, vertex(rootNodeId,g), vis); 
  vector<MyVertex> vctr = vis.GetVector();

 }