#include #include typedef unsigned long int vertex_index_type; typedef unsigned int edge_weight_type; typedef boost::adjacency_list < boost::setS, boost::listS, boost::bidirectionalS, boost::property < boost::vertex_index_t, vertex_index_type>, boost::property < boost::edge_weight_t, edge_weight_type> > graph; int main(int argc, char** argv) { graph g; boost::graph_traits::vertex_descriptor u,v; boost::graph_traits::edge_descriptor e; u=boost::add_vertex(g); v=boost::add_vertex(g); e=boost::add_edge(u,v,g).first; boost::put(boost::edge_weight,g,e,5); std::vector < boost::graph_traits::vertex_descriptor > pred (num_vertices (g)); std::vector < unsigned int >dist (num_vertices (g)); boost::dijkstra_shortest_paths (g, u,boost::predecessor_map (&pred[0]).distance_map(&dist[0])); return 0; }