demo/hello_lemon.cc
changeset 1530 d99c3c84f797
parent 1526 8c14aa8f27a2
child 1583 2b329fd595ef
     1.1 --- a/demo/hello_lemon.cc	Mon Jul 04 07:51:57 2005 +0000
     1.2 +++ b/demo/hello_lemon.cc	Mon Jul 04 13:08:31 2005 +0000
     1.3 @@ -5,17 +5,38 @@
     1.4  {
     1.5    typedef lemon::ListGraph Graph;
     1.6    typedef Graph::EdgeIt EdgeIt;
     1.7 +  typedef Graph::Edge Edge;
     1.8    typedef Graph::NodeIt NodeIt;
     1.9 +  typedef Graph::Node Node;
    1.10 +  typedef Graph::EdgeMap<int> LengthMap;
    1.11    using lemon::INVALID;
    1.12  
    1.13    Graph g;
    1.14    
    1.15 -  for (int i = 0; i < 3; i++)
    1.16 -    g.addNode();
    1.17 +  Node s=g.addNode();
    1.18 +  Node v2=g.addNode();
    1.19 +  Node v3=g.addNode();
    1.20 +  Node v4=g.addNode();
    1.21 +  Node v5=g.addNode();
    1.22 +  Node t=g.addNode();
    1.23 +
    1.24 +  Edge s_v2=g.addEdge(s, v2);
    1.25 +  Edge s_v3=g.addEdge(s, v3);
    1.26 +  Edge v2_v4=g.addEdge(v2, v4);
    1.27 +  Edge v2_v5=g.addEdge(v2, v5);
    1.28 +  Edge v3_v5=g.addEdge(v3, v5);
    1.29 +  Edge v4_t=g.addEdge(v4, t);
    1.30 +  Edge v5_t=g.addEdge(v5, t);
    1.31    
    1.32 -  for (NodeIt i(g); i!=INVALID; ++i)
    1.33 -    for (NodeIt j(g); j!=INVALID; ++j)
    1.34 -      if (i != j) g.addEdge(i, j);
    1.35 +  LengthMap length(g);
    1.36 +
    1.37 +  length.set(s_v2, 10);
    1.38 +  length.set(s_v3, 10);
    1.39 +  length.set(v2_v4, 5);
    1.40 +  length.set(v2_v5, 8);
    1.41 +  length.set(v3_v5, 5);
    1.42 +  length.set(v4_t, 8);
    1.43 +  length.set(v5_t, 8);
    1.44  
    1.45    std::cout << "Hello World!" << std::endl;
    1.46    std::cout <<  std::endl;
    1.47 @@ -31,4 +52,13 @@
    1.48    for (EdgeIt i(g); i!=INVALID; ++i)
    1.49      std::cout << " (" << g.id(g.source(i)) << "," << g.id(g.target(i)) << ")";
    1.50    std::cout << std::endl;
    1.51 +  std::cout <<  std::endl;
    1.52 +
    1.53 +  std::cout << "There is a map on the edges (length)!" << std::endl;
    1.54 +  std::cout <<  std::endl;
    1.55 +  for (EdgeIt i(g); i!=INVALID; ++i)
    1.56 +    std::cout << "length(" << g.id(g.source(i)) << "," << g.id(g.target(i)) << ")="<<length[i]<<std::endl;
    1.57 +
    1.58 +  std::cout << std::endl;
    1.59 +
    1.60  }