src/work/jacint/bug.cc
changeset 1060 7a24bb2e7480
parent 1059 bd97feae7d90
     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;