onjour !!! j'utilise BOOST pour un probléme de graphe mining.
le programme complet se trouve ici : http://pastebin.com/8NejJvcx
Je voulais faire une fonction qui a comme arguments deux graphes et qui retourne un vector , ce vector contient la difference entre les aretes des deux graphes.
voila ce que j'ai fais jusqu’à maintenant :
il manque la partie /* d i f f e r e n c e*/ ou je veux faire la difference entre v1 et v2 et l'inserer dans result.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 std::vector<edge_iter> edgesdiff(Graph const& g1,Graph const& g2){ std::vector<edge_iter> v1; std::vector<edge_iter> v2; std::vector<edge_iter> result; typedef graph_traits<Graph>::edge_iterator edge_iter; std::pair<edge_iter, edge_iter> ep; edge_iter ei, ei_end; for (tie(ei, ei_end) = edges(g1); ei != ei_end; ++ei){v1.push_back(ei);} for (tie(ei, ei_end) = edges(g2); ei != ei_end; ++ei){v2.push_back(ei);} /* d i f f e r e n c e*/ return result; }
Par difference je veux dire les elements qui sont dans v1 et ne sont pas dans v2 et vice-versa.
Aidez moi a compléter le programme svp!
Partager