Skip to content

Commit

Permalink
added visualization in tutorials
Browse files Browse the repository at this point in the history
  • Loading branch information
spirosmaggioros committed Feb 6, 2024
1 parent 5ab5826 commit 702cc5b
Show file tree
Hide file tree
Showing 42 changed files with 336 additions and 237 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
<div class="headertitle"><div class="title">How do i write unit tests?</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="autotoc_md113"></a> Writting unit tests is the most important part of contributing. Fortunately or not, this is a project about algorithms and a lot of edge cases exist, so we must make sure everything works as it should.</p>
<div class="textblock"><p><a class="anchor" id="autotoc_md116"></a> Writting unit tests is the most important part of contributing. Fortunately or not, this is a project about algorithms and a lot of edge cases exist, so we must make sure everything works as it should.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#define CATCH_CONFIG_MAIN</span></div>
<div class="line"><span class="preprocessor">#include &quot;../catch2/catch.hpp&quot;</span></div>
<div class="line"> </div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,16 @@
<div class="line">}</div>
<div class="ttc" id="aclasscircular__linked__list_html_a4326741c71783cf7752ec54744853266"><div class="ttname"><a href="classcircular__linked__list.html#a4326741c71783cf7752ec54744853266">circular_linked_list::begin</a></div><div class="ttdeci">Iterator begin()</div><div class="ttdoc">pointer that points to begin</div><div class="ttdef"><b>Definition</b> circular_linked_list.h:76</div></div>
<div class="ttc" id="aclasscircular__linked__list_html_ac44983a3c6787b338f41f99edcdfabf9"><div class="ttname"><a href="classcircular__linked__list.html#ac44983a3c6787b338f41f99edcdfabf9">circular_linked_list::end</a></div><div class="ttdeci">Iterator end()</div><div class="ttdoc">pointer that points to end</div><div class="ttdef"><b>Definition</b> circular_linked_list.h:83</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md38"></a>
<b>visualize</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;circular_linked_list.h&gt;</span></div>
<div class="line"> </div>
<div class="line"><a class="code hl_class" href="classcircular__linked__list.html">circular_linked_list&lt;int&gt;</a> l;</div>
<div class="line">l.<a class="code hl_function" href="classcircular__linked__list.html#a5caccafa9f77dcfdfb1bad669877f609">push_front</a>(1);</div>
<div class="line">l.<a class="code hl_function" href="classcircular__linked__list.html#a5caccafa9f77dcfdfb1bad669877f609">push_front</a>(2);</div>
<div class="line">l.<a class="code hl_function" href="classcircular__linked__list.html#a5caccafa9f77dcfdfb1bad669877f609">push_front</a>(3);</div>
<div class="line">l.<a class="code hl_function" href="classcircular__linked__list.html#ae3dd24a24767dd1af94830e95c6f9d2d">visualize</a>();</div>
<div class="ttc" id="aclasscircular__linked__list_html_ae3dd24a24767dd1af94830e95c6f9d2d"><div class="ttname"><a href="classcircular__linked__list.html#ae3dd24a24767dd1af94830e95c6f9d2d">circular_linked_list::visualize</a></div><div class="ttdeci">void visualize()</div><div class="ttdoc">visualize function returns a .dot file that can be previewd with graphviz plugin in vscode</div><div class="ttdef"><b>Definition</b> circular_linked_list.h:308</div></div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- start footer part -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
<div class="headertitle"><div class="title">Mini Tutorial for the Stack class</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="autotoc_md38"></a></p><pre class="fragment">dequeue_list&lt;T&gt; -- creates a dequeue implemented with a list.
<div class="textblock"><p><a class="anchor" id="autotoc_md39"></a></p><pre class="fragment">dequeue_list&lt;T&gt; -- creates a dequeue implemented with a list.
</pre><p> splay tree contains:</p><ul>
<li>push_back</li>
<li>push_front</li>
Expand All @@ -86,7 +86,7 @@
<li>clear</li>
<li>size</li>
</ul>
<h2><a class="anchor" id="autotoc_md39"></a>
<h2><a class="anchor" id="autotoc_md40"></a>
<b>push_back</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;dequeue_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -98,7 +98,7 @@ <h2><a class="anchor" id="autotoc_md39"></a>
<div class="line"><span class="comment">// now the dequeue contains {10,5,4,13}</span></div>
<div class="ttc" id="aclassdequeue__list_html"><div class="ttname"><a href="classdequeue__list.html">dequeue_list</a></div><div class="ttdoc">dequeue list class</div><div class="ttdef"><b>Definition</b> dequeue_list.h:14</div></div>
<div class="ttc" id="aclassdequeue__list_html_a6bb8882f621456fea94b6023ced7c3bd"><div class="ttname"><a href="classdequeue__list.html#a6bb8882f621456fea94b6023ced7c3bd">dequeue_list::push_back</a></div><div class="ttdeci">void push_back(T key)</div><div class="ttdoc">push_back function</div><div class="ttdef"><b>Definition</b> dequeue_list.h:92</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md40"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md41"></a>
<b>push_front</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;dequeue_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -110,7 +110,7 @@ <h2><a class="anchor" id="autotoc_md39"></a>
<div class="line"> </div>
<div class="line"><span class="comment">// now the dequeue contains {13,4,5,10}</span></div>
<div class="ttc" id="aclassdequeue__list_html_a87f40862616d3964c51aa84da8714e5e"><div class="ttname"><a href="classdequeue__list.html#a87f40862616d3964c51aa84da8714e5e">dequeue_list::push_front</a></div><div class="ttdeci">void push_front(T key)</div><div class="ttdoc">push_front function</div><div class="ttdef"><b>Definition</b> dequeue_list.h:112</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md41"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md42"></a>
<b>front</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;dequeue_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -123,7 +123,7 @@ <h2><a class="anchor" id="autotoc_md39"></a>
<div class="line"><span class="comment">// this should return 13</span></div>
<div class="line">std::cout &lt;&lt; q.<a class="code hl_function" href="classdequeue__list.html#a7a9f8326f96b1a42057ef0ec2a020a39">front</a>() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="ttc" id="aclassdequeue__list_html_a7a9f8326f96b1a42057ef0ec2a020a39"><div class="ttname"><a href="classdequeue__list.html#a7a9f8326f96b1a42057ef0ec2a020a39">dequeue_list::front</a></div><div class="ttdeci">T front()</div><div class="ttdoc">top function</div><div class="ttdef"><b>Definition</b> dequeue_list.h:132</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md42"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md43"></a>
<b>back</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;dequeue_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -136,7 +136,7 @@ <h2><a class="anchor" id="autotoc_md39"></a>
<div class="line"><span class="comment">// this should return 10</span></div>
<div class="line">std::cout &lt;&lt; q.<a class="code hl_function" href="classdequeue__list.html#a52390a91517e3419a6120d38cc30ca39">back</a>() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="ttc" id="aclassdequeue__list_html_a52390a91517e3419a6120d38cc30ca39"><div class="ttname"><a href="classdequeue__list.html#a52390a91517e3419a6120d38cc30ca39">dequeue_list::back</a></div><div class="ttdeci">T back()</div><div class="ttdoc">back function</div><div class="ttdef"><b>Definition</b> dequeue_list.h:139</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md43"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md44"></a>
<b>pop_front</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;dequeue_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -152,7 +152,7 @@ <h2><a class="anchor" id="autotoc_md39"></a>
<div class="line"><span class="comment">// this should return 4</span></div>
<div class="line">std::cout &lt;&lt; q.<a class="code hl_function" href="classdequeue__list.html#a7a9f8326f96b1a42057ef0ec2a020a39">front</a>() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="ttc" id="aclassdequeue__list_html_a30a8222a95d7ab43b78d590f1415fa41"><div class="ttname"><a href="classdequeue__list.html#a30a8222a95d7ab43b78d590f1415fa41">dequeue_list::pop_front</a></div><div class="ttdeci">void pop_front()</div><div class="ttdoc">pop_front function removes the front from the dequeue</div><div class="ttdef"><b>Definition</b> dequeue_list.h:145</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md44"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md45"></a>
<b>pop_back</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;dequeue_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -168,7 +168,7 @@ <h2><a class="anchor" id="autotoc_md39"></a>
<div class="line"><span class="comment">// this should return 5</span></div>
<div class="line">std::cout &lt;&lt; q.<a class="code hl_function" href="classdequeue__list.html#a52390a91517e3419a6120d38cc30ca39">back</a>() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="ttc" id="aclassdequeue__list_html_a06ae5994e52c6fa82995fced1555d7be"><div class="ttname"><a href="classdequeue__list.html#a06ae5994e52c6fa82995fced1555d7be">dequeue_list::pop_back</a></div><div class="ttdeci">void pop_back()</div><div class="ttdoc">pop_back function removes the back from the queue</div><div class="ttdef"><b>Definition</b> dequeue_list.h:155</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md45"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md46"></a>
<b>iterator</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;dequeue_list.h&gt;</span></div>
<div class="line"> </div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@
<div class="headertitle"><div class="title">Mini tutorial for doubly linked list class</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="autotoc_md46"></a></p><pre class="fragment">doubly_linked_list&lt;T&gt; -- creates a doubly linked list with elements of type T
</pre> <h2><a class="anchor" id="autotoc_md47"></a>
<div class="textblock"><p><a class="anchor" id="autotoc_md47"></a></p><pre class="fragment">doubly_linked_list&lt;T&gt; -- creates a doubly linked list with elements of type T
</pre> <h2><a class="anchor" id="autotoc_md48"></a>
<b>push_back</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -87,7 +87,7 @@
<div class="line"><span class="comment">//creates a doubly linked list with elements {1,2,3}</span></div>
<div class="ttc" id="aclassdoubly__linked__list_html"><div class="ttname"><a href="classdoubly__linked__list.html">doubly_linked_list</a></div><div class="ttdoc">doubly linked list class</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:17</div></div>
<div class="ttc" id="aclassdoubly__linked__list_html_a0d7d611c1c937954e4fdbe866d542c23"><div class="ttname"><a href="classdoubly__linked__list.html#a0d7d611c1c937954e4fdbe866d542c23">doubly_linked_list::push_back</a></div><div class="ttdeci">void push_back(T key)</div><div class="ttdoc">push_back function.</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:176</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md48"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md49"></a>
<b>push_front</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -97,7 +97,7 @@
<div class="line">l.<a class="code hl_function" href="classdoubly__linked__list.html#a9132ebf985d2c3192cd93e91736c2bb6">push_front</a>(3);</div>
<div class="line"><span class="comment">//creates a doubly linked list with elements {3,2,1}</span></div>
<div class="ttc" id="aclassdoubly__linked__list_html_a9132ebf985d2c3192cd93e91736c2bb6"><div class="ttname"><a href="classdoubly__linked__list.html#a9132ebf985d2c3192cd93e91736c2bb6">doubly_linked_list::push_front</a></div><div class="ttdeci">void push_front(T key)</div><div class="ttdoc">push_front function.</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:190</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md49"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md50"></a>
<b>erase</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -109,7 +109,7 @@
<div class="line">assert(l.<a class="code hl_function" href="classdoubly__linked__list.html#aca40a97ffdf597eaaf90c6a37feddbaf">search</a>(2) == <span class="keyword">false</span>);</div>
<div class="ttc" id="aclassdoubly__linked__list_html_aca40a97ffdf597eaaf90c6a37feddbaf"><div class="ttname"><a href="classdoubly__linked__list.html#aca40a97ffdf597eaaf90c6a37feddbaf">doubly_linked_list::search</a></div><div class="ttdeci">bool search(T key)</div><div class="ttdoc">search function.</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:160</div></div>
<div class="ttc" id="aclassdoubly__linked__list_html_afdab563c67f317578ea7839150c0f5f7"><div class="ttname"><a href="classdoubly__linked__list.html#afdab563c67f317578ea7839150c0f5f7">doubly_linked_list::erase</a></div><div class="ttdeci">void erase(T key)</div><div class="ttdoc">erase function.</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:201</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md50"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md51"></a>
<b>search</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -120,7 +120,7 @@
<div class="line"><span class="keywordflow">if</span>(l.<a class="code hl_function" href="classdoubly__linked__list.html#aca40a97ffdf597eaaf90c6a37feddbaf">search</a>(3) == <span class="keyword">true</span>){</div>
<div class="line"> std::cout &lt;&lt; <span class="stringliteral">&quot;element 3 found in the list&quot;</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md51"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md52"></a>
<b>reverse</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -131,7 +131,7 @@
<div class="line">l.<a class="code hl_function" href="classdoubly__linked__list.html#aa610759539cd3fc651f7ad950a19adaf">reverse</a>();</div>
<div class="line"><span class="comment">//now the linked list became {1,2,3}</span></div>
<div class="ttc" id="aclassdoubly__linked__list_html_aa610759539cd3fc651f7ad950a19adaf"><div class="ttname"><a href="classdoubly__linked__list.html#aa610759539cd3fc651f7ad950a19adaf">doubly_linked_list::reverse</a></div><div class="ttdeci">void reverse()</div><div class="ttdoc">reverse function. reverses the linked list.</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:236</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md52"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md53"></a>
<b>elements</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -143,7 +143,7 @@
<div class="line"><span class="comment">//returns the elements of the doubly linked list in a vector&lt;T&gt;</span></div>
<div class="line">std::vector&lt;int&gt; els = l.<a class="code hl_function" href="classdoubly__linked__list.html#af7ef1ea3c8d19ca5f42118600e5d92cd">elements</a>();</div>
<div class="ttc" id="aclassdoubly__linked__list_html_af7ef1ea3c8d19ca5f42118600e5d92cd"><div class="ttname"><a href="classdoubly__linked__list.html#af7ef1ea3c8d19ca5f42118600e5d92cd">doubly_linked_list::elements</a></div><div class="ttdeci">std::vector&lt; T &gt; elements()</div><div class="ttdoc">elements function.</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:223</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md53"></a>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md54"></a>
<b>iterators</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
Expand All @@ -157,6 +157,16 @@
<div class="line">}</div>
<div class="ttc" id="aclassdoubly__linked__list_html_a0ce9b9113a172c246e556672921f8a0f"><div class="ttname"><a href="classdoubly__linked__list.html#a0ce9b9113a172c246e556672921f8a0f">doubly_linked_list::end</a></div><div class="ttdeci">Iterator end()</div><div class="ttdoc">pointer that points to end</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:81</div></div>
<div class="ttc" id="aclassdoubly__linked__list_html_ab855e34667c93dd84e552618669e7b9e"><div class="ttname"><a href="classdoubly__linked__list.html#ab855e34667c93dd84e552618669e7b9e">doubly_linked_list::begin</a></div><div class="ttdeci">Iterator begin()</div><div class="ttdoc">pointer that points to begin</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:74</div></div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md55"></a>
<b>visualize</b>:</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;doubly_linked_list.h&gt;</span></div>
<div class="line"> </div>
<div class="line"><a class="code hl_class" href="classdoubly__linked__list.html">doubly_linked_list&lt;int&gt;</a> l;</div>
<div class="line">l.<a class="code hl_function" href="classdoubly__linked__list.html#a9132ebf985d2c3192cd93e91736c2bb6">push_front</a>(1);</div>
<div class="line">l.<a class="code hl_function" href="classdoubly__linked__list.html#a9132ebf985d2c3192cd93e91736c2bb6">push_front</a>(2);</div>
<div class="line">l.<a class="code hl_function" href="classdoubly__linked__list.html#a9132ebf985d2c3192cd93e91736c2bb6">push_front</a>(3);</div>
<div class="line">l.<a class="code hl_function" href="classdoubly__linked__list.html#a97b3ed1ec99751fa67bf2e8e04c7886f">visualize</a>();</div>
<div class="ttc" id="aclassdoubly__linked__list_html_a97b3ed1ec99751fa67bf2e8e04c7886f"><div class="ttname"><a href="classdoubly__linked__list.html#a97b3ed1ec99751fa67bf2e8e04c7886f">doubly_linked_list::visualize</a></div><div class="ttdeci">void visualize()</div><div class="ttdoc">visualize function returns a .dot file that can be previewd with graphviz plugin in vscode</div><div class="ttdef"><b>Definition</b> doubly_linked_list.h:313</div></div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- start footer part -->
Expand Down

0 comments on commit 702cc5b

Please sign in to comment.