1.1 --- a/src/work/jacint/bug.cc Fri Jan 07 08:50:38 2005 +0000
1.2 +++ b/src/work/jacint/bug.cc Fri Jan 07 18:53:02 2005 +0000
1.3 @@ -1,4 +1,3 @@
1.4 -//lasd megjegyzes a 49-es sorban
1.5 #include <iostream>
1.6 #include <queue>
1.7 #include <vector>
1.8 @@ -6,23 +5,28 @@
1.9
1.10 #include <lemon/invalid.h>
1.11 #include <lemon/list_graph.h>
1.12 +#include <lemon/smart_graph.h>
1.13 #include <matching.h>
1.14
1.15 using namespace lemon;
1.16 +using namespace std;
1.17
1.18 -int main(int, char **) {
1.19
1.20 - typedef UndirListGraph Graph;
1.21 +int main() {
1.22 +
1.23 + typedef UndirSmartGraph Graph;
1.24
1.25 typedef Graph::Edge Edge;
1.26 typedef Graph::UndirEdgeIt UndirEdgeIt;
1.27 typedef Graph::IncEdgeIt IncEdgeIt;
1.28 typedef Graph::NodeIt NodeIt;
1.29 typedef Graph::Node Node;
1.30 +
1.31 + typedef Graph::OutEdgeIt OutEdgeIt;
1.32
1.33 Graph G;
1.34
1.35 - G.clear();
1.36 + // G.clear();
1.37 std::vector<Graph::Node> nodes;
1.38 for (int i=0; i<5; ++i)
1.39 nodes.push_back(G.addNode());
1.40 @@ -35,7 +39,8 @@
1.41 G.addEdge(nodes[2], nodes[4]);
1.42
1.43 for(UndirEdgeIt e(G); e!=INVALID; ++e) {
1.44 - std::cout<<G.id(e)<<" : "<<G.id(G.source(e))<<" " <<G.id(G.target(e))<<std::endl;
1.45 + std::cout<<G.id(e)<<" : "<<G.id(G.source(e))
1.46 + <<" " <<G.id(G.target(e))<<std::endl;
1.47 }
1.48
1.49 std::cout <<"Nodes:"<<std::endl;
1.50 @@ -44,11 +49,32 @@
1.51 std::cout<<G.id(v)<<std::endl;
1.52 }
1.53
1.54 + cout << "Dev Out edges from node " << G.id(nodes[1])<<std::endl;
1.55 + Edge f;
1.56 + for(G.firstOut(f, nodes[1]); f!=INVALID; G.nextOut(f)) {
1.57 + cout<<"edge " << G.id(f) << " goes"
1.58 + <<" from "<< G.id(G.source(f))
1.59 + << " to " << G.id(G.target(f))<<std::endl;
1.60 + }
1.61 +
1.62 + cout << "Out edges from node " << G.id(nodes[1])<<std::endl;
1.63 + for( OutEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) {
1.64 + cout<<"edge " << G.id(f) << " goes"
1.65 + <<" from "<< G.id(G.source(f))
1.66 + << " to " << G.id(G.target(f))<<std::endl;
1.67 + }
1.68 +
1.69 std::cout<<"Edges of node " << G.id(nodes[1])<<std::endl;
1.70 + for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) {
1.71 + cout<<"edge " << G.id(f) << " goes"
1.72 + <<" from "<< G.id(G.source(f))
1.73 + << " to " << G.id(G.target(f))<<std::endl;
1.74 + }
1.75
1.76 - for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) {
1.77 - std::cout<<"edge " << G.id(f)<< " goes to " << G.id(G.target(f))<<std::endl;
1.78 - }//ez a ket for ciklus meg lefut - bar hibas eleken iteral -, de a matching.h-s mar segfaultol
1.79 + //return 0;
1.80 +
1.81 + //ez a ket for ciklus meg lefut - bar hibas eleken iteral -, de a
1.82 + //matching.h-s mar segfaultol
1.83
1.84 for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) {
1.85 std::cout<<"edge " << G.id(f)<< " goes to " << G.id(G.target(f))<<std::endl;