1.1 --- a/src/demo/dijkstra_demo.cc Sat May 21 21:04:57 2005 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,75 +0,0 @@
1.4 -#include <iostream>
1.5 -
1.6 -#include <lemon/list_graph.h>
1.7 -#include <lemon/dijkstra.h>
1.8 -
1.9 -using namespace lemon;
1.10 -
1.11 -
1.12 -int main (int, char*[])
1.13 -{
1.14 -
1.15 - typedef ListGraph Graph;
1.16 - typedef Graph::Node Node;
1.17 - typedef Graph::Edge Edge;
1.18 - typedef Graph::EdgeMap<int> LengthMap;
1.19 -
1.20 - Graph g;
1.21 -
1.22 - //An example from Ahuja's book
1.23 -
1.24 - Node s=g.addNode();
1.25 - Node v2=g.addNode();
1.26 - Node v3=g.addNode();
1.27 - Node v4=g.addNode();
1.28 - Node v5=g.addNode();
1.29 - Node t=g.addNode();
1.30 -
1.31 - Edge s_v2=g.addEdge(s, v2);
1.32 - Edge s_v3=g.addEdge(s, v3);
1.33 - Edge v2_v4=g.addEdge(v2, v4);
1.34 - Edge v2_v5=g.addEdge(v2, v5);
1.35 - Edge v3_v5=g.addEdge(v3, v5);
1.36 - Edge v4_t=g.addEdge(v4, t);
1.37 - Edge v5_t=g.addEdge(v5, t);
1.38 -
1.39 - LengthMap len(g);
1.40 -
1.41 - len.set(s_v2, 10);
1.42 - len.set(s_v3, 10);
1.43 - len.set(v2_v4, 5);
1.44 - len.set(v2_v5, 8);
1.45 - len.set(v3_v5, 5);
1.46 - len.set(v4_t, 8);
1.47 - len.set(v5_t, 8);
1.48 -
1.49 - std::cout << "The id of s is " << g.id(s)<< ", the id of t is " << g.id(t)<<"."<<std::endl;
1.50 -
1.51 - std::cout << "Dijkstra algorithm test..." << std::endl;
1.52 -
1.53 - Dijkstra<Graph, LengthMap> dijkstra_test(g,len);
1.54 -
1.55 - dijkstra_test.run(s);
1.56 -
1.57 -
1.58 - std::cout << "The distance of node t from node s: " << dijkstra_test.dist(t)<<std::endl;
1.59 -
1.60 - std::cout << "The shortest path from s to t goes through the following nodes (the first one is t, the last one is s): "<<std::endl;
1.61 -
1.62 - for (Node v=t;v != s; v=dijkstra_test.predNode(v)){
1.63 - std::cout << g.id(v) << "<-";
1.64 - }
1.65 - std::cout << g.id(s) << std::endl;
1.66 -
1.67 -
1.68 - return 0;
1.69 -}
1.70 -
1.71 -
1.72 -
1.73 -
1.74 -
1.75 -
1.76 -
1.77 -
1.78 -