добавление пользовательских вершин к графику повышения

Если у меня есть n элементы, определенные с классом CElement, как можно создать вершины тех элементов с графиком повышения - и соединить их также? Я видел, что график повышения связал опоры, но я просто не могу понять этого.

19
задан dodol 23 June 2010 в 08:43
поделиться

1 ответ

Я не понимаю, что именно вы хотите сделать. Вы хотите связать некоторые данные с вершинами? Тогда используйте связанные свойства.

//Define a class that has the data you want to associate to every vertex and edge
struct Vertex{ int foo;}
struct Edge{std::string blah;}

//Define the graph using those classes
typedef boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Vertex, Edge > Graph;
//Some typedefs for simplicity
typedef boost::graph_traits<Graph>::vertex_descriptor vertex_t;
typedef boost::graph_traits<Graph>::edge_descriptor edge_t;

//Instanciate a graph
Graph g;

// Create two vertices in that graph
vertex_t u = boost::add_vertex(g);
vertex_t v = boost::add_vertex(g);

// Create an edge conecting those two vertices
edge_t e; bool b;
boost::tie(e,b) = boost::add_edge(u,v,g);


// Set the properties of a vertex and the edge
g[u].foo = 42;
g[e].blah = "Hello world";

Есть и другие способы задать свойства, но у вас есть пример для подражания.

Надеюсь, я не понял вопрос неправильно.

52
ответ дан 30 November 2019 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: