Documentation for c26eea874d

This commit is contained in:
realstealthninja
2025-05-19 11:38:33 +00:00
parent c7a9a42397
commit 14583a2f33
2829 changed files with 30266 additions and 21669 deletions

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: hashing/chaining.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,17 +124,17 @@ $(function(){initNavTree('d9/d92/chaining_8cpp_source.html','../../'); initResiz
<div class="headertitle"><div class="title">chaining.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d9/d92/chaining_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d9/d92/chaining_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span></div>
<div class="foldopen" id="foldopen00016" data-start="{" data-end="};">
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html"> 16</a></span><span class="keyword">class </span><a class="code hl_class" href="../../dd/d1c/classhash__chain.html">hash_chain</a> {</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html"> 16</a></span><span class="keyword">class </span><a class="code hl_function" href="../../dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595">hash_chain</a> {</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">private</span>:</div>
<div class="foldopen" id="foldopen00021" data-start="{" data-end="};">
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036"> 21</a></span> <span class="keyword">using </span><a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> = <span class="keyword">struct </span><a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036"> 21</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="../../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036">Node</a> = <span class="keyword">struct </span><a class="code hl_typedef" href="../../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036">Node</a> {</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>{}; </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> std::shared_ptr&lt;struct Node&gt; next; </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> };</div>
@@ -149,11 +149,11 @@ $(function(){initNavTree('d9/d92/chaining_8cpp_source.html','../../'); initResiz
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">while</span> (mod--) <a class="code hl_variable" href="../../dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0">head</a>.push_back(<span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> }</div>
</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span></div>
<div class="foldopen" id="foldopen00045" data-start="{" data-end="}">
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff"> 45</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff">add</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> <a class="code hl_function" href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a>) {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> std::shared_ptr&lt;Node&gt; curr;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> std::shared_ptr&lt;Node&gt; temp(<span class="keyword">new</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a>);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> std::shared_ptr&lt;Node&gt; temp(<span class="keyword">new</span> <a class="code hl_typedef" href="../../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036">Node</a>);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> temp-&gt;data = x;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> temp-&gt;next = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="../../dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0">head</a>[<a class="code hl_function" href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a>]) {</div>
@@ -166,7 +166,7 @@ $(function(){initNavTree('d9/d92/chaining_8cpp_source.html','../../'); initResiz
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> }</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> }</div>
</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span></div>
<div class="foldopen" id="foldopen00063" data-start="{" data-end="}">
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed"> 63</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed">display</a>() {</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> std::shared_ptr&lt;Node&gt; temp = <span class="keyword">nullptr</span>;</div>
@@ -187,9 +187,9 @@ $(function(){initNavTree('d9/d92/chaining_8cpp_source.html','../../'); initResiz
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64"> 91</a></span> <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64">hash</a>(<span class="keywordtype">int</span> x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> x % <a class="code hl_variable" href="../../dd/d1c/classhash__chain.html#ae9ddce410015ed8dda6380130d82d6c2">_mod</a>; }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span></div>
<div class="foldopen" id="foldopen00101" data-start="{" data-end="}">
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="../../dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a"> 101</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a">find</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> <a class="code hl_function" href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> std::shared_ptr&lt;Node&gt; temp = <a class="code hl_variable" href="../../dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0">head</a>[<a class="code hl_function" href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a>];</div>
@@ -221,7 +221,7 @@ $(function(){initNavTree('d9/d92/chaining_8cpp_source.html','../../'); initResiz
</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span>};</div>
</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span></div>
<div class="foldopen" id="foldopen00133" data-start="{" data-end="}">
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="../../d9/d92/chaining_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 133</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d9/d92/chaining_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> c = 0, x = 0, mod = 0, <a class="code hl_function" href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a> = 0;</div>
@@ -285,18 +285,18 @@ $(function(){initNavTree('d9/d92/chaining_8cpp_source.html','../../'); initResiz
<div class="ttc" id="aclasshash__chain_html_a706964ad13587fc9a8b3fe8381d410ed"><div class="ttname"><a href="../../dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed">hash_chain::display</a></div><div class="ttdeci">void display()</div><div class="ttdoc">Display the chain.</div><div class="ttdef"><b>Definition</b> <a href="#l00063">chaining.cpp:63</a></div></div>
<div class="ttc" id="aclasshash__chain_html_a80c8b902a15b4fd062ed727ecf8f3595"><div class="ttname"><a href="../../dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595">hash_chain::hash_chain</a></div><div class="ttdeci">hash_chain(int mod)</div><div class="ttdoc">Construct a new chain object.</div><div class="ttdef"><b>Definition</b> <a href="#l00035">chaining.cpp:35</a></div></div>
<div class="ttc" id="aclasshash__chain_html_a846a2f921f8fb7ea572e03901b671d64"><div class="ttname"><a href="../../dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64">hash_chain::hash</a></div><div class="ttdeci">virtual int hash(int x) const</div><div class="ttdoc">Compute the hash of a value for current chain.</div><div class="ttdef"><b>Definition</b> <a href="#l00091">chaining.cpp:91</a></div></div>
<div class="ttc" id="aclasshash__chain_html_a8b204861e9470377c956d3b5cd313036"><div class="ttname"><a href="../../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036">hash_chain::Node</a></div><div class="ttdeci">struct Node { int data{}; std::shared_ptr&lt; struct Node &gt; next; } Node</div><div class="ttdoc">Define a linked node.</div><div class="ttdef"><b>Definition</b> <a href="#l00021">chaining.cpp:21</a></div></div>
<div class="ttc" id="aclasshash__chain_html_ae8457d13620497fa2046ac566252c4b0"><div class="ttname"><a href="../../dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0">hash_chain::head</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; Node &gt; &gt; head</div><div class="ttdoc">array of nodes</div><div class="ttdef"><b>Definition</b> <a href="#l00026">chaining.cpp:26</a></div></div>
<div class="ttc" id="aclasshash__chain_html_ae9ddce410015ed8dda6380130d82d6c2"><div class="ttname"><a href="../../dd/d1c/classhash__chain.html#ae9ddce410015ed8dda6380130d82d6c2">hash_chain::_mod</a></div><div class="ttdeci">int _mod</div><div class="ttdoc">modulus of the class</div><div class="ttdef"><b>Definition</b> <a href="#l00027">chaining.cpp:27</a></div></div>
<div class="ttc" id="ahash__search_8cpp_html_a566eaf0ffafd50bc61e644561fd27001"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a></div><div class="ttdeci">int h(int key)</div><div class="ttdef"><b>Definition</b> <a href="../../d1/df3/hash__search_8cpp_source.html#l00045">hash_search.cpp:45</a></div></div>
<div class="ttc" id="ahash__search_8cpp_html_a6e1a77282bc65ad359d753d25df23243"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a></div><div class="ttdeci">int data[MAX]</div><div class="ttdoc">test data</div><div class="ttdef"><b>Definition</b> <a href="../../d1/df3/hash__search_8cpp_source.html#l00024">hash_search.cpp:24</a></div></div>
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition</b> <a href="../../d3/dce/linkedlist__implentation__usingarray_8cpp_source.html#l00014">linkedlist_implentation_usingarray.cpp:14</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_ece9b94c107bbaa1dd68197a8c9983b9.html">hashing</a></li><li class="navelem"><a class="el" href="../../d9/d92/chaining_8cpp.html">chaining.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>