Documentation for 79fb528dad

This commit is contained in:
github-actions
2020-08-27 14:33:59 +00:00
parent a7071744aa
commit ae96f0a088
31 changed files with 290 additions and 293 deletions

View File

@@ -174,30 +174,30 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Main function </p>
<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="../../df/d82/breadth__first__search_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9">tests</a>();</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">size_t</span> vertices = 0, edges = 0;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter the number of vertices: &quot;</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; vertices;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter the number of edges: &quot;</span>;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; edges;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;int&gt;</a>&gt; <a class="code" href="../../df/dce/namespacegraph.html">graph</a>(vertices);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter space-separated pairs of vertices that form edges: &quot;</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">while</span> (edges--) {</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">int</span> u = 0, v = 0;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; u &gt;&gt; v;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// Decrement the vertex index so that we can read more convenint</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// 1-based indexing from the user input.</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, u - 1, v - 1);</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div>
<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="../../df/d82/breadth__first__search_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9">tests</a>();</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">size_t</span> vertices = 0, edges = 0;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter the number of vertices: &quot;</span>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; vertices;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter the number of edges: &quot;</span>;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; edges;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;int&gt;</a>&gt; <a class="code" href="../../df/dce/namespacegraph.html">graph</a>(vertices);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter space-separated pairs of vertices that form edges: &quot;</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">while</span> (edges--) {</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordtype">int</span> u = 0, v = 0;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; u &gt;&gt; v;</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// Decrement the vertex index so that we can read more convenint</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="comment">// 1-based indexing from the user input.</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, u - 1, v - 1);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -224,44 +224,44 @@ Here is the call graph for this function:</div>
<p>Test 1 Begin</p>
<p>Test 2 Begin</p>
<p>Test 3 Begins</p>
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {<span class="comment"></span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> /// Test 1 Begin</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;int&gt;</a>&gt; <a class="code" href="../../df/dce/namespacegraph.html">graph</a>(4, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>());</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a59b4441a0e447469e9a4f61c87f33102">graph::add_undirected_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 1);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a59b4441a0e447469e9a4f61c87f33102">graph::add_undirected_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 2);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a59b4441a0e447469e9a4f61c87f33102">graph::add_undirected_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2, 3);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> correct_result = {<span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>};</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed...&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> /// Test 2 Begin</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"></span> returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed...&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /// Test 3 Begins</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"></span> <a class="code" href="../../df/dce/namespacegraph.html">graph</a>.clear();</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html">graph</a>.resize(6);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 1);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 2);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 3);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2, 3);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 4);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 3, 5);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; correct_result = {<span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>, <span class="keyword">true</span>};</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 3 Passed...&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div>
<div class="fragment"><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {<span class="comment"></span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> /// Test 1 Begin</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;int&gt;</a>&gt; <a class="code" href="../../df/dce/namespacegraph.html">graph</a>(4, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>());</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a59b4441a0e447469e9a4f61c87f33102">graph::add_undirected_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 1);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a59b4441a0e447469e9a4f61c87f33102">graph::add_undirected_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 2);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#a59b4441a0e447469e9a4f61c87f33102">graph::add_undirected_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2, 3);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> correct_result = {<span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>};</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed...&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> /// Test 2 Begin</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"></span> returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed...&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> /// Test 3 Begins</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"></span> <a class="code" href="../../df/dce/namespacegraph.html">graph</a>.clear();</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html">graph</a>.resize(6);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 1);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 2);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 3);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2, 3);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 4);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a>(&amp;<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 3, 5);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; correct_result = {<span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>, <span class="keyword">true</span>};</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 3 Passed...&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -273,13 +273,13 @@ Here is the call graph for this function:</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespacegraph_html_a618dce14b4883c20aace1d743d3a3f60"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a></div><div class="ttdeci">std::vector&lt; bool &gt; breadth_first_search(const std::vector&lt; std::vector&lt; int &gt;&gt; &amp;graph, int start)</div><div class="ttdoc">Function performs the breadth first search algorithm over the graph.</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:95</div></div>
<div class="ttc" id="anamespacegraph_html_a618dce14b4883c20aace1d743d3a3f60"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a618dce14b4883c20aace1d743d3a3f60">graph::breadth_first_search</a></div><div class="ttdeci">std::vector&lt; bool &gt; breadth_first_search(const std::vector&lt; std::vector&lt; int &gt;&gt; &amp;graph, int start)</div><div class="ttdoc">Function performs the breadth first search algorithm over the graph.</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:96</div></div>
<div class="ttc" id="aequal_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a></div><div class="ttdeci">T equal(T... args)</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="anamespacegraph_html_adbe6cd1fd148173ce6a01669925d2d72"><div class="ttname"><a href="../../df/dce/namespacegraph.html#adbe6cd1fd148173ce6a01669925d2d72">graph::add_directed_edge</a></div><div class="ttdeci">void add_directed_edge(std::vector&lt; std::vector&lt; int &gt;&gt; *graph, int u, int v)</div><div class="ttdoc">Adds a directed edge from vertex u to vertex v.</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:66</div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="anamespacegraph_html_a59b4441a0e447469e9a4f61c87f33102"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a59b4441a0e447469e9a4f61c87f33102">graph::add_undirected_edge</a></div><div class="ttdeci">void add_undirected_edge(std::vector&lt; std::vector&lt; int &gt;&gt; *graph, int u, int v)</div><div class="ttdoc">Adds an undirected edge from vertex u to vertex v. Essentially adds too directed edges to the adjacen...</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:81</div></div>
<div class="ttc" id="abreadth__first__search_8cpp_html_a88ec9ad42717780d6caaff9d3d6977f9"><div class="ttname"><a href="../../df/d82/breadth__first__search_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9">tests</a></div><div class="ttdeci">void tests()</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:121</div></div>
<div class="ttc" id="abreadth__first__search_8cpp_html_a88ec9ad42717780d6caaff9d3d6977f9"><div class="ttname"><a href="../../df/d82/breadth__first__search_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9">tests</a></div><div class="ttdeci">void tests()</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:122</div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="anamespacegraph_html"><div class="ttname"><a href="../../df/dce/namespacegraph.html">graph</a></div><div class="ttdoc">Graph algorithms.</div></div>

View File

@@ -452,29 +452,29 @@ Here is the call graph for this function:</div>
<p>a queue that stores vertices that need to be further explored</p>
<p>mark the starting vertex as visited</p>
<p>if the vertex is not visited then mark it as visited and push it to the queue</p>
<div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {<span class="comment"></span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> /// vector to keep track of visited vertices</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> visited(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>.size(), <span class="keyword">false</span>);<span class="comment"></span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> /// a queue that stores vertices that need to be further explored</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> tracker;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> /// mark the starting vertex as visited</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span> visited[start] = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(start);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">while</span> (!tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/empty.html">empty</a>()) {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">size_t</span> vertex = tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/front.html">front</a>();</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/pop.html">pop</a>();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> x : <a class="code" href="../../df/dce/namespacegraph.html">graph</a>[vertex]) {<span class="comment"></span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> /// if the vertex is not visited then mark it as visited</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> /// and push it to the queue</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"></span> <span class="keywordflow">if</span> (!visited[x]) {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; visited[x] = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(x);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span> visited;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;}</div>
<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {<span class="comment"></span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> /// vector to keep track of visited vertices</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> visited(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>.size(), <span class="keyword">false</span>);<span class="comment"></span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> /// a queue that stores vertices that need to be further explored</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> tracker;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> /// mark the starting vertex as visited</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"></span> visited[start] = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(start);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">while</span> (!tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/empty.html">empty</a>()) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">size_t</span> vertex = tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/front.html">front</a>();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/pop.html">pop</a>();</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> x : <a class="code" href="../../df/dce/namespacegraph.html">graph</a>[vertex]) {<span class="comment"></span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> /// if the vertex is not visited then mark it as visited</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /// and push it to the queue</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"></span> <span class="keywordflow">if</span> (!visited[x]) {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; visited[x] = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; tracker.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(x);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> visited;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">