9 Ağustos 2017 Çarşamba

graph edges metodu

Giriş
Tüm edgeleri dolaşmamızı sağlayan bir iterator çifti döner. Bu metod ile vertices metodu kardeştir.

edges - graph
Bu metod iki tane iterator döner.
Örnek
Şöyle yaparız.
std::pair<Graph::edge_iterator, Graph::edge_iterator> es = boost::edges(g);
Tanımlama zor geliyorsa şöyle yaparız.
auto es = boost::edges(g);
Örnek
Elimizde şöyle bir grap olsun
struct Vertex { int id; double data; };
struct Edge { float distance; };

typedef boost::adjacency_list<boost::listS, boost::vecS, boost::directedS,
  Vertex, Edge> Graph;
Edge'leri dolaşmak için şöyle yaparız.
// Iterate through the edges and print them out
auto es = boost::edges(g);
for (auto eit = es.first; eit != es.second; ++eit) {
  std::cout << boost::source(*eit, g) << ' ' << boost::target(*eit, g);
}
Çıktı olarak şunu alırız
0 0
1 2
1 4
1 3
2 4

Hiç yorum yok:

Yorum Gönder