Как задавать имена вершинам в моем коде?
хочу поменять 0-3 на названия например А1, А2
#include <iostream>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/graphviz.hpp>
using namespace std;
using namespace boost;
typedef adjacency_list<
vecS,
vecS,
undirectedS
> MyGraph;
int main()
{
MyGraph g(5);
add_edge(0, 1, g);
add_edge(1, 3, g);
add_edge(3, 1, g);
ofstream f("graph.dot");
write_graphviz(f, g);
f.close();
system("C:/Graphwiz/bin/dot.exe graph.dot -Kcirco -Tsvg -o graph.svg");
system("start graph.svg");
return 0;
}
Не уверен, что это возможно. Однако, Вы можете добавить ярлыки для необходимых вершин: См. update.
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/graphviz.hpp>
struct VtxProps { std::string name; };
struct EdgProps { std::string name; };
using Graph = boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, VtxProps, EdgProps>;
int main() {
Graph g(3);
g[0].name = "A0";
g[1].name = "A1";
g[2].name = "A2";
add_edge(0, 1, g);
add_edge(1, 3, g);
add_edge(3, 1, g);
write_graphviz(std::cout, g,
make_label_writer(get(&VtxProps::name, g)),
make_label_writer(get(&EdgProps::name, g)));
}
Пример на wandbox.
Upd.: детальнее посмотрел документацию, если я правильно понимаю, это то, что Вам нужно:
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/graphviz.hpp>
using VertexProperty = boost::property<boost::vertex_name_t, std::string>;
using Graph = boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, VertexProperty>;
typedef boost::graph_traits<Graph>::vertex_descriptor VertexDescriptor;
int main() {
Graph g;
for (int i = 0; i < 4; i++) {
boost::add_vertex(Graph::vertex_property_type("A" + std::to_string(i)), g);
}
boost::dynamic_properties dp;
dp.property("node_id", boost::get(boost::vertex_name, g));
add_edge(0, 1, g);
add_edge(1, 3, g);
add_edge(3, 1, g);
write_graphviz_dp(std::cout, g, dp);
}
Пример на wandbox.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Задание от преподавателя ООП в вузеВычислить сумму чисел наследуемых классов используя методы доступа
Помогите, уже второй день не могу понять, почему у меня не корректно отображается 3d сцена, плоскости не перекрываются, почему, не понятно
Собственно говоря мне нужно отсортировать " string name;" по алфавитуЖелательно без указателей и векторов