<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.programmingexamples.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=Boost%2FBGL%2FDijkstraUndirected</id>
		<title>Boost/BGL/DijkstraUndirected - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=Boost%2FBGL%2FDijkstraUndirected"/>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=Boost/BGL/DijkstraUndirected&amp;action=history"/>
		<updated>2026-05-25T11:54:23Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>http://www.programmingexamples.net/w/index.php?title=Boost/BGL/DijkstraUndirected&amp;diff=5061&amp;oldid=prev</id>
		<title>Daviddoria: moved CPP/Boost/BGL/DijkstraUndirected to Boost/BGL/DijkstraUndirected</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=Boost/BGL/DijkstraUndirected&amp;diff=5061&amp;oldid=prev"/>
				<updated>2011-11-16T12:52:31Z</updated>
		
		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/wiki/CPP/Boost/BGL/DijkstraUndirected&quot; class=&quot;mw-redirect&quot; title=&quot;CPP/Boost/BGL/DijkstraUndirected&quot;&gt;CPP/Boost/BGL/DijkstraUndirected&lt;/a&gt; to &lt;a href=&quot;/wiki/Boost/BGL/DijkstraUndirected&quot; title=&quot;Boost/BGL/DijkstraUndirected&quot;&gt;Boost/BGL/DijkstraUndirected&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:52, 16 November 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/w/index.php?title=Boost/BGL/DijkstraUndirected&amp;diff=4515&amp;oldid=prev</id>
		<title>Daviddoria: Created page with '==DijkstraUndirected.cpp== &lt;source lang=&quot;cpp&quot;&gt; #include &lt;boost/config.hpp&gt; #include &lt;iostream&gt; #include &lt;fstream&gt;  #include &lt;boost/graph/graph_traits.hpp&gt; #include &lt;boost/graph/d…'</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=Boost/BGL/DijkstraUndirected&amp;diff=4515&amp;oldid=prev"/>
				<updated>2011-06-08T01:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;==DijkstraUndirected.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;boost/config.hpp&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;fstream&amp;gt;  #include &amp;lt;boost/graph/graph_traits.hpp&amp;gt; #include &amp;lt;boost/graph/d…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==DijkstraUndirected.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/config.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;boost/graph/graph_traits.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/dijkstra_shortest_paths.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/adjacency_list.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int, char *[])&lt;br /&gt;
{&lt;br /&gt;
  typedef boost::property&amp;lt;boost::edge_weight_t, float&amp;gt; EdgeWeightProperty;&lt;br /&gt;
  &lt;br /&gt;
  typedef boost::adjacency_list &amp;lt; boost::listS, boost::vecS, boost::undirectedS,&lt;br /&gt;
    boost::no_property, EdgeWeightProperty &amp;gt; Graph;&lt;br /&gt;
  &lt;br /&gt;
  typedef boost::graph_traits &amp;lt; Graph &amp;gt;::vertex_descriptor vertex_descriptor;&lt;br /&gt;
  typedef boost::graph_traits &amp;lt; Graph &amp;gt;::edge_descriptor edge_descriptor;&lt;br /&gt;
  typedef std::pair&amp;lt;int, int&amp;gt; Edge;&lt;br /&gt;
&lt;br /&gt;
  // Create a graph&lt;br /&gt;
  Graph g;&lt;br /&gt;
  &lt;br /&gt;
  Graph::vertex_descriptor v0 = boost::add_vertex(g);&lt;br /&gt;
  Graph::vertex_descriptor v1 = boost::add_vertex(g);&lt;br /&gt;
  Graph::vertex_descriptor v2 = boost::add_vertex(g);&lt;br /&gt;
&lt;br /&gt;
  // Add weighted edges&lt;br /&gt;
  EdgeWeightProperty weight0(5);&lt;br /&gt;
  boost::add_edge(v0, v1, weight0, g);&lt;br /&gt;
&lt;br /&gt;
  EdgeWeightProperty weight1 = 3;&lt;br /&gt;
  boost::add_edge(v1, v2, weight1, g);&lt;br /&gt;
  &lt;br /&gt;
  EdgeWeightProperty weight2 = 2;&lt;br /&gt;
  boost::add_edge(v2, v0, weight2, g);&lt;br /&gt;
  &lt;br /&gt;
  // At this point the graph is&lt;br /&gt;
  /*   v0&lt;br /&gt;
       .&lt;br /&gt;
   5  / \ 2&lt;br /&gt;
     /___\&lt;br /&gt;
    v1 3 v2&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
  // Create things for Dijkstra&lt;br /&gt;
  std::vector&amp;lt;vertex_descriptor&amp;gt; parents(boost::num_vertices(g)); // To store parents&lt;br /&gt;
  std::vector&amp;lt;int&amp;gt; distances(boost::num_vertices(g)); // To store distances&lt;br /&gt;
&lt;br /&gt;
  // Compute shortest paths from v0 to all vertices, and store the output in parents and distances&lt;br /&gt;
  boost::dijkstra_shortest_paths(g, v0, boost::predecessor_map(&amp;amp;parents[0]).distance_map(&amp;amp;distances[0]));&lt;br /&gt;
&lt;br /&gt;
  // Output results&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;distances and parents:&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  boost::graph_traits &amp;lt; Graph &amp;gt;::vertex_iterator vertexIterator, vend;&lt;br /&gt;
  for (boost::tie(vertexIterator, vend) = boost::vertices(g); vertexIterator != vend; ++vertexIterator) &lt;br /&gt;
  {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;distance(&amp;quot; &amp;lt;&amp;lt; *vertexIterator &amp;lt;&amp;lt; &amp;quot;) = &amp;quot; &amp;lt;&amp;lt; distances[*vertexIterator] &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;parent(&amp;quot; &amp;lt;&amp;lt; *vertexIterator &amp;lt;&amp;lt; &amp;quot;) = &amp;quot; &amp;lt;&amp;lt; parents[*vertexIterator] &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  }&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  &lt;br /&gt;
  /*&lt;br /&gt;
  The output is:&lt;br /&gt;
  distance(0) = 0, parent(0) = 0&lt;br /&gt;
  distance(1) = 5, parent(1) = 0&lt;br /&gt;
  distance(2) = 8, parent(2) = 0&lt;br /&gt;
  &lt;br /&gt;
  which means:&lt;br /&gt;
  the distance from v0 to v0 is 0&lt;br /&gt;
  the distance from v0 to v1 is 5&lt;br /&gt;
  the distance from v0 to v2 is 2&lt;br /&gt;
  */&lt;br /&gt;
  return EXIT_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(DijkstraUndirected)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS program_options required)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(DijkstraUndirected DijkstraUndirected.cpp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	</feed>