Documentation for 8b1eab204b

This commit is contained in:
realstealthninja
2024-11-04 12:43:05 +00:00
parent 4fb6e622e9
commit a7bccf7d01
6732 changed files with 153919 additions and 365711 deletions

View File

@@ -1,3 +1,4 @@
<!-- HTML header for doxygen 1.12.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
@@ -5,10 +6,15 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: hashing/quadratic_probing_hash_table.cpp File Reference</title>
<title>TheAlgorithms/C++: hashing/quadratic_probing_hash_table.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@xpack-3rd-party/doxygen-awesome-css@2.2.0-1/doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
@@ -18,14 +24,24 @@
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
<script type="text/javascript">
window.MathJax = {
options: {
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
},
loader: {
load: ['[tex]/ams']
},
tex: {
macros: {},
packages: ['base','configmacros','ams']
}
};
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
<script type="text/javascript" id="MathJax-script" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../project_logo.png"/></td>
<td id="projectalign">
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
<div id="projectname">TheAlgorithms/C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
<div id="projectbrief">All the algorithms implemented in C++</div>
</td>
</tr>
</tbody>
@@ -123,7 +140,9 @@ Include dependency graph for quadratic_probing_hash_table.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d61/quadratic__probing__hash__table_8cpp__incl.svg" width="244" height="126"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><table class="memberdecls">
</div>
<p><a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/dd1/structquadratic__probing_1_1_entry.html">quadratic_probing::Entry</a></td></tr>
@@ -164,23 +183,17 @@ Functions</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a90f9d8a71e3f148b65bcc0c1c8a49c70" id="r_a90f9d8a71e3f148b65bcc0c1c8a49c70"><td class="memItemLeft" align="right" valign="top"><a id="a90f9d8a71e3f148b65bcc0c1c8a49c70" name="a90f9d8a71e3f148b65bcc0c1c8a49c70"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::notPresent</b></td></tr>
<tr class="memitem:a90f9d8a71e3f148b65bcc0c1c8a49c70" id="r_a90f9d8a71e3f148b65bcc0c1c8a49c70"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dd2/namespacequadratic__probing.html#a90f9d8a71e3f148b65bcc0c1c8a49c70">quadratic_probing::notPresent</a></td></tr>
<tr class="separator:a90f9d8a71e3f148b65bcc0c1c8a49c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a149e32e186c3fac390ffa81dd6c73147" id="r_a149e32e186c3fac390ffa81dd6c73147"><td class="memItemLeft" align="right" valign="top"><a id="a149e32e186c3fac390ffa81dd6c73147" name="a149e32e186c3fac390ffa81dd6c73147"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="el" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::table</b></td></tr>
<tr class="memitem:a149e32e186c3fac390ffa81dd6c73147" id="r_a149e32e186c3fac390ffa81dd6c73147"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dd2/namespacequadratic__probing.html#a149e32e186c3fac390ffa81dd6c73147">quadratic_probing::table</a></td></tr>
<tr class="separator:a149e32e186c3fac390ffa81dd6c73147"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d5722a3b692eeb1b96615fba6a248f3" id="r_a2d5722a3b692eeb1b96615fba6a248f3"><td class="memItemLeft" align="right" valign="top"><a id="a2d5722a3b692eeb1b96615fba6a248f3" name="a2d5722a3b692eeb1b96615fba6a248f3"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::totalSize</b></td></tr>
<tr class="memitem:a2d5722a3b692eeb1b96615fba6a248f3" id="r_a2d5722a3b692eeb1b96615fba6a248f3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dd2/namespacequadratic__probing.html#a2d5722a3b692eeb1b96615fba6a248f3">quadratic_probing::totalSize</a></td></tr>
<tr class="separator:a2d5722a3b692eeb1b96615fba6a248f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa4b6c021ba71ecdac8b23b45d55c774" id="r_aaa4b6c021ba71ecdac8b23b45d55c774"><td class="memItemLeft" align="right" valign="top"><a id="aaa4b6c021ba71ecdac8b23b45d55c774" name="aaa4b6c021ba71ecdac8b23b45d55c774"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::tomb</b> = -1</td></tr>
<tr class="memitem:aaa4b6c021ba71ecdac8b23b45d55c774" id="r_aaa4b6c021ba71ecdac8b23b45d55c774"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dd2/namespacequadratic__probing.html#aaa4b6c021ba71ecdac8b23b45d55c774">quadratic_probing::tomb</a> = -1</td></tr>
<tr class="separator:aaa4b6c021ba71ecdac8b23b45d55c774"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c60d84648b0f7bf78789da196bcd2b3" id="r_a6c60d84648b0f7bf78789da196bcd2b3"><td class="memItemLeft" align="right" valign="top"><a id="a6c60d84648b0f7bf78789da196bcd2b3" name="a6c60d84648b0f7bf78789da196bcd2b3"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::size</b></td></tr>
<tr class="memitem:a6c60d84648b0f7bf78789da196bcd2b3" id="r_a6c60d84648b0f7bf78789da196bcd2b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dd2/namespacequadratic__probing.html#a6c60d84648b0f7bf78789da196bcd2b3">quadratic_probing::size</a></td></tr>
<tr class="separator:a6c60d84648b0f7bf78789da196bcd2b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad20bb8020424def88917e26979051fae" id="r_ad20bb8020424def88917e26979051fae"><td class="memItemLeft" align="right" valign="top"><a id="ad20bb8020424def88917e26979051fae" name="ad20bb8020424def88917e26979051fae"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::rehashing</b></td></tr>
<tr class="memitem:ad20bb8020424def88917e26979051fae" id="r_ad20bb8020424def88917e26979051fae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dd2/namespacequadratic__probing.html#ad20bb8020424def88917e26979051fae">quadratic_probing::rehashing</a></td></tr>
<tr class="separator:ad20bb8020424def88917e26979051fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -189,6 +202,8 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::re
<dd>
<a href="https://github.com/kvedala" target="_blank">Krishna Vedala</a> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>The implementation can be optimized by using OOP style. </dd></dl>
<p class="definition">Definition in file <a class="el" href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html">quadratic_probing_hash_table.cpp</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&#160;</a></span>main()</h2>
@@ -205,48 +220,50 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::re
</table>
</div><div class="memdoc">
<p>Main function </p><dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00246">246</a> of file <a class="el" href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html">quadratic_probing_hash_table.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 246</span> {</div>
<div class="line"><span class="lineno"> 247</span> <span class="keywordtype">int</span> cmd = 0, <a class="code hl_function" href="../../d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb">hash</a> = 0, key = 0;</div>
<div class="line"><span class="lineno"> 248</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter the initial size of Hash Table. = &quot;</span>;</div>
<div class="line"><span class="lineno"> 249</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; totalSize;</div>
<div class="line"><span class="lineno"> 250</span> table = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Entry&gt;</a>(totalSize);</div>
<div class="line"><span class="lineno"> 248</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter the initial size of Hash Table. = &quot;</span>;</div>
<div class="line"><span class="lineno"> 249</span> std::cin &gt;&gt; totalSize;</div>
<div class="line"><span class="lineno"> 250</span> table = std::vector&lt;Entry&gt;(totalSize);</div>
<div class="line"><span class="lineno"> 251</span> <span class="keywordtype">bool</span> loop = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 252</span> <span class="keywordflow">while</span> (loop) {</div>
<div class="line"><span class="lineno"> 253</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 254</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;PLEASE CHOOSE -&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 255</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;1. Add key. (Numeric only)&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 256</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;2. Remove key.&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 257</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;3. Find key.&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 258</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;4. Generate Hash. (Numeric only)&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 259</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;5. Display Hash table.&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 260</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;6. Exit.&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 261</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; cmd;</div>
<div class="line"><span class="lineno"> 253</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 254</span> std::cout &lt;&lt; <span class="stringliteral">&quot;PLEASE CHOOSE -&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 255</span> std::cout &lt;&lt; <span class="stringliteral">&quot;1. Add key. (Numeric only)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 256</span> std::cout &lt;&lt; <span class="stringliteral">&quot;2. Remove key.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 257</span> std::cout &lt;&lt; <span class="stringliteral">&quot;3. Find key.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 258</span> std::cout &lt;&lt; <span class="stringliteral">&quot;4. Generate Hash. (Numeric only)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 259</span> std::cout &lt;&lt; <span class="stringliteral">&quot;5. Display Hash table.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 260</span> std::cout &lt;&lt; <span class="stringliteral">&quot;6. Exit.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 261</span> std::cin &gt;&gt; cmd;</div>
<div class="line"><span class="lineno"> 262</span> <span class="keywordflow">switch</span> (cmd) {</div>
<div class="line"><span class="lineno"> 263</span> <span class="keywordflow">case</span> 1:</div>
<div class="line"><span class="lineno"> 264</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter key to add = &quot;</span>;</div>
<div class="line"><span class="lineno"> 265</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 264</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter key to add = &quot;</span>;</div>
<div class="line"><span class="lineno"> 265</span> std::cin &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 266</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768">quadratic_probing::addInfo</a>(key);</div>
<div class="line"><span class="lineno"> 267</span> <span class="keywordflow">break</span>;</div>
<div class="line"><span class="lineno"> 268</span> <span class="keywordflow">case</span> 2:</div>
<div class="line"><span class="lineno"> 269</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter key to remove = &quot;</span>;</div>
<div class="line"><span class="lineno"> 270</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 269</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter key to remove = &quot;</span>;</div>
<div class="line"><span class="lineno"> 270</span> std::cin &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 271</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30">quadratic_probing::removalInfo</a>(key);</div>
<div class="line"><span class="lineno"> 272</span> <span class="keywordflow">break</span>;</div>
<div class="line"><span class="lineno"> 273</span> <span class="keywordflow">case</span> 3: {</div>
<div class="line"><span class="lineno"> 274</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter key to search = &quot;</span>;</div>
<div class="line"><span class="lineno"> 275</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 274</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter key to search = &quot;</span>;</div>
<div class="line"><span class="lineno"> 275</span> std::cin &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 276</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">quadratic_probing::Entry</a> entry =</div>
<div class="line"><span class="lineno"> 277</span> quadratic_probing::table[<a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadratic_probing::quadraticProbe</a>(</div>
<div class="line"><span class="lineno"> 278</span> key, <span class="keyword">true</span>)];</div>
<div class="line"><span class="lineno"> 279</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> == quadratic_probing::notPresent) {</div>
<div class="line"><span class="lineno"> 280</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Key not present&quot;</span>;</div>
<div class="line"><span class="lineno"> 280</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Key not present&quot;</span>;</div>
<div class="line"><span class="lineno"> 281</span> }</div>
<div class="line"><span class="lineno"> 282</span> <span class="keywordflow">break</span>;</div>
<div class="line"><span class="lineno"> 283</span> }</div>
<div class="line"><span class="lineno"> 284</span> <span class="keywordflow">case</span> 4:</div>
<div class="line"><span class="lineno"> 285</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter element to generate hash = &quot;</span>;</div>
<div class="line"><span class="lineno"> 286</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 287</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Hash of &quot;</span> &lt;&lt; key</div>
<div class="line"><span class="lineno"> 285</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter element to generate hash = &quot;</span>;</div>
<div class="line"><span class="lineno"> 286</span> std::cin &gt;&gt; key;</div>
<div class="line"><span class="lineno"> 287</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Hash of &quot;</span> &lt;&lt; key</div>
<div class="line"><span class="lineno"> 288</span> &lt;&lt; <span class="stringliteral">&quot; is = &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">quadratic_probing::hashFxn</a>(key);</div>
<div class="line"><span class="lineno"> 289</span> <span class="keywordflow">break</span>;</div>
<div class="line"><span class="lineno"> 290</span> <span class="keywordflow">case</span> 5:</div>
@@ -257,28 +274,19 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>quadratic_probing::re
<div class="line"><span class="lineno"> 295</span> <span class="keywordflow">break</span>;</div>
<div class="line"><span class="lineno"> 296</span> <span class="comment">// delete[] table;</span></div>
<div class="line"><span class="lineno"> 297</span> }</div>
<div class="line"><span class="lineno"> 298</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 298</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 299</span> }</div>
<div class="line"><span class="lineno"> 300</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><span class="lineno"> 301</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></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="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="amd5_8cpp_html_a88705fab5f92adf3427b4cf76ff33edb"><div class="ttname"><a href="../../d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb">hashing::md5::hash</a></div><div class="ttdeci">void * hash(const std::string &amp;message)</div><div class="ttdoc">Converts the string to bytestring and calls the main algorithm.</div><div class="ttdef"><b>Definition</b> md5.cpp:288</div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a2093d91dd3d377cf0a5c939e45dcefc7"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">quadratic_probing::hashFxn</a></div><div class="ttdeci">size_t hashFxn(int key)</div><div class="ttdef"><b>Definition</b> quadratic_probing_hash_table.cpp:46</div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a312143ed316d48978084c025ff8d9768"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768">quadratic_probing::addInfo</a></div><div class="ttdeci">void addInfo(int key)</div><div class="ttdef"><b>Definition</b> quadratic_probing_hash_table.cpp:207</div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a40d617ebf4d6ba21bcda8d8d1faa2357"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">quadratic_probing::display</a></div><div class="ttdeci">void display()</div><div class="ttdef"><b>Definition</b> quadratic_probing_hash_table.cpp:142</div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a69fe1f7c36fe004ba83eef2ca82e7e30"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30">quadratic_probing::removalInfo</a></div><div class="ttdeci">void removalInfo(int key)</div><div class="ttdef"><b>Definition</b> quadratic_probing_hash_table.cpp:222</div></div>
<div class="ttc" id="anamespacequadratic__probing_html_ab431981b54c0bae1b2956f716aee1dcf"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadratic_probing::quadraticProbe</a></div><div class="ttdeci">int quadraticProbe(int key, bool searching)</div><div class="ttdef"><b>Definition</b> quadratic_probing_hash_table.cpp:56</div></div>
<div class="ttc" id="astructquadratic__probing_1_1_entry_html"><div class="ttname"><a href="../../da/dd1/structquadratic__probing_1_1_entry.html">quadratic_probing::Entry</a></div><div class="ttdef"><b>Definition</b> quadratic_probing_hash_table.cpp:37</div></div>
<div class="ttc" id="astructquadratic__probing_1_1_entry_html_a75f72858f08a2fc8b94402de98db12d8"><div class="ttname"><a href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">quadratic_probing::Entry::key</a></div><div class="ttdeci">int key</div><div class="ttdoc">key value</div><div class="ttdef"><b>Definition</b> quadratic_probing_hash_table.cpp:39</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>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="ttc" id="amd5_8cpp_html_a88705fab5f92adf3427b4cf76ff33edb"><div class="ttname"><a href="../../d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb">hashing::md5::hash</a></div><div class="ttdeci">void * hash(const std::string &amp;message)</div><div class="ttdoc">Converts the string to bytestring and calls the main algorithm.</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d96/md5_8cpp_source.html#l00288">md5.cpp:288</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a2093d91dd3d377cf0a5c939e45dcefc7"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">quadratic_probing::hashFxn</a></div><div class="ttdeci">size_t hashFxn(int key)</div><div class="ttdef"><b>Definition</b> <a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00046">quadratic_probing_hash_table.cpp:46</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a312143ed316d48978084c025ff8d9768"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768">quadratic_probing::addInfo</a></div><div class="ttdeci">void addInfo(int key)</div><div class="ttdef"><b>Definition</b> <a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00207">quadratic_probing_hash_table.cpp:207</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a40d617ebf4d6ba21bcda8d8d1faa2357"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">quadratic_probing::display</a></div><div class="ttdeci">void display()</div><div class="ttdef"><b>Definition</b> <a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00142">quadratic_probing_hash_table.cpp:142</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a69fe1f7c36fe004ba83eef2ca82e7e30"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30">quadratic_probing::removalInfo</a></div><div class="ttdeci">void removalInfo(int key)</div><div class="ttdef"><b>Definition</b> <a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00222">quadratic_probing_hash_table.cpp:222</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_ab431981b54c0bae1b2956f716aee1dcf"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadratic_probing::quadraticProbe</a></div><div class="ttdeci">int quadraticProbe(int key, bool searching)</div><div class="ttdef"><b>Definition</b> <a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00056">quadratic_probing_hash_table.cpp:56</a></div></div>
<div class="ttc" id="astructquadratic__probing_1_1_entry_html"><div class="ttname"><a href="../../da/dd1/structquadratic__probing_1_1_entry.html">quadratic_probing::Entry</a></div><div class="ttdef"><b>Definition</b> <a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00037">quadratic_probing_hash_table.cpp:37</a></div></div>
<div class="ttc" id="astructquadratic__probing_1_1_entry_html_a75f72858f08a2fc8b94402de98db12d8"><div class="ttname"><a href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">quadratic_probing::Entry::key</a></div><div class="ttdeci">int key</div><div class="ttdoc">key value</div><div class="ttdef"><b>Definition</b> <a href="../../db/d71/quadratic__probing__hash__table_8cpp_source.html#l00039">quadratic_probing_hash_table.cpp:39</a></div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->

View File

@@ -1,43 +0,0 @@
<map id="main" name="main">
<area shape="rect" id="Node000001" title=" " alt="" coords="5,187,55,213"/>
<area shape="rect" id="Node000002" href="$d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768" title=" " alt="" coords="103,212,234,252"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="56,203,88,211,87,216,54,208"/>
<area shape="rect" id="Node000004" href="$d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf" title=" " alt="" coords="482,316,614,356"/>
<area shape="poly" id="edge20_Node000001_Node000004" title=" " alt="" coords="44,211,69,238,104,262,149,281,197,296,295,318,388,329,467,334,467,339,388,335,294,323,196,301,148,286,101,266,66,242,40,215"/>
<area shape="rect" id="Node000005" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="692,151,763,177"/>
<area shape="poly" id="edge18_Node000001_Node000005" title=" " alt="" coords="34,185,59,139,78,112,101,89,146,58,185,40,227,31,282,21,377,7,453,5,490,10,528,21,615,59,643,76,668,97,708,137,704,141,664,100,639,80,612,64,526,26,489,15,453,10,377,12,282,27,229,36,187,46,148,62,104,93,82,115,63,141,39,188"/>
<area shape="rect" id="Node000006" href="$d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7" title=" " alt="" coords="662,434,793,475"/>
<area shape="poly" id="edge19_Node000001_Node000006" title=" " alt="" coords="39,212,64,259,82,286,104,310,148,343,187,362,283,393,381,426,483,445,567,453,646,454,646,460,566,458,482,451,380,431,281,398,185,367,146,348,101,314,78,289,59,262,34,215"/>
<area shape="rect" id="Node000012" href="$d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357" title=" " alt="" coords="292,36,424,76"/>
<area shape="poly" id="edge17_Node000001_Node000012" title=" " alt="" coords="41,185,67,158,101,132,144,111,190,93,276,69,278,74,192,98,147,116,104,137,70,162,45,188"/>
<area shape="rect" id="Node000013" href="$d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30" title=" " alt="" coords="103,146,234,187"/>
<area shape="poly" id="edge21_Node000001_Node000013" title=" " alt="" coords="54,192,87,184,88,189,56,197"/>
<area shape="rect" id="Node000003" href="$d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9" title=" " alt="" coords="282,215,434,241"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="235,228,267,227,267,233,235,233"/>
<area shape="poly" id="edge15_Node000002_Node000005" title=" " alt="" coords="233,250,312,270,410,283,462,284,514,280,564,269,612,251,628,239,637,224,645,207,660,190,677,179,679,184,663,194,649,210,641,226,632,242,615,256,566,274,515,285,462,289,410,288,311,275,231,255"/>
<area shape="poly" id="edge16_Node000002_Node000006" title=" " alt="" coords="199,250,319,329,399,373,483,409,566,432,647,445,646,450,565,437,481,414,397,378,316,333,196,255"/>
<area shape="poly" id="edge13_Node000002_Node000012" title=" " alt="" coords="214,209,232,197,258,169,280,137,325,86,329,89,284,140,262,172,236,201,217,213"/>
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="396,239,436,258,508,304,505,308,433,262,394,244"/>
<area shape="rect" id="Node000011" href="$d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486" title=" " alt="" coords="482,201,614,242"/>
<area shape="poly" id="edge10_Node000003_Node000011" title=" " alt="" coords="434,231,466,230,467,236,435,237"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="591,313,612,296,628,269,634,243,641,217,660,190,676,178,679,182,664,194,646,219,639,244,633,271,616,299,594,317"/>
<area shape="poly" id="edge5_Node000004_Node000006" title=" " alt="" coords="589,355,615,373,639,396,663,419,670,424,667,428,660,423,636,400,612,377,586,359"/>
<area shape="rect" id="Node000007" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/pow.html#" title=" " alt="" coords="692,204,763,230"/>
<area shape="poly" id="edge6_Node000004_Node000007" title=" " alt="" coords="587,313,612,295,626,281,635,268,645,254,660,240,676,231,679,236,663,245,648,258,639,271,630,284,615,299,590,317"/>
<area shape="rect" id="Node000008" href="$d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b" title=" " alt="" coords="662,254,793,295"/>
<area shape="poly" id="edge7_Node000004_Node000008" title=" " alt="" coords="609,312,651,298,652,303,611,318"/>
<area shape="rect" id="Node000009" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/round.html#" title=" " alt="" coords="688,319,767,345"/>
<area shape="poly" id="edge8_Node000004_Node000009" title=" " alt="" coords="614,332,673,330,673,336,614,337"/>
<area shape="rect" id="Node000010" href="$d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6" title=" " alt="" coords="662,369,793,410"/>
<area shape="poly" id="edge9_Node000004_Node000010" title=" " alt="" coords="615,353,647,363,646,368,613,358"/>
<area shape="poly" id="edge11_Node000011_Node000003" title=" " alt="" coords="482,218,450,218,450,213,482,212"/>
<area shape="poly" id="edge12_Node000011_Node000005" title=" " alt="" coords="613,198,676,177,678,182,614,203"/>
<area shape="poly" id="edge14_Node000012_Node000005" title=" " alt="" coords="425,56,516,67,566,77,615,92,660,114,698,139,696,144,657,119,613,97,565,83,515,72,424,61"/>
<area shape="poly" id="edge23_Node000013_Node000005" title=" " alt="" coords="234,145,282,136,392,129,502,133,601,142,677,153,676,158,600,147,502,138,392,135,282,141,235,150"/>
<area shape="poly" id="edge24_Node000013_Node000006" title=" " alt="" coords="217,185,236,198,251,212,260,225,269,238,284,251,323,277,358,292,393,307,436,330,460,348,484,366,519,381,547,390,614,409,659,426,657,431,613,414,546,395,517,386,481,370,456,353,433,334,391,312,356,297,321,282,280,255,265,241,256,228,247,216,232,202,214,190"/>
<area shape="poly" id="edge22_Node000013_Node000012" title=" " alt="" coords="199,143,281,92,300,82,303,86,283,97,202,148"/>
<area shape="rect" id="Node000014" href="$d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a" title=" " alt="" coords="292,150,424,191"/>
<area shape="poly" id="edge25_Node000013_Node000014" title=" " alt="" coords="235,165,277,166,277,172,235,171"/>
<area shape="poly" id="edge27_Node000014_Node000004" title=" " alt="" coords="418,189,436,201,478,244,524,302,520,305,474,247,433,205,415,194"/>
<area shape="poly" id="edge26_Node000014_Node000005" title=" " alt="" coords="424,167,676,162,676,168,424,172"/>
</map>

View File

@@ -1 +0,0 @@
1e05e731ad82cf8a3f7a7d53c6fc0457

View File

@@ -1,473 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: main Pages: 1 -->
<!--zoomable 360 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 599;
var viewHeight = 360;
var sectionId = 'dynsection-1';
</script>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>main</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37,-215.88 0,-215.88 0,-196.62 37,-196.62 37,-215.88"/>
<text text-anchor="middle" x="18.5" y="-202.38" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="171.5,-197.5 73,-197.5 73,-167 171.5,-167 171.5,-197.5"/>
<text text-anchor="start" x="81" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="122.25" y="-172.75" font-family="Helvetica,sans-Serif" font-size="10.00">addInfo</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.22,-202.07C44.27,-200.41 52.81,-198.39 61.72,-196.29"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="62.29,-199.75 71.22,-194.05 60.68,-192.94 62.29,-199.75"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="456.25,-119.5 357.75,-119.5 357.75,-89 456.25,-89 456.25,-119.5"/>
<text text-anchor="start" x="365.75" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="407" y="-94.75" font-family="Helvetica,sans-Serif" font-size="10.00">quadraticProbe</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge20_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge20_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M27.41,-196.34C36.96,-185.14 54.09,-167.29 73,-158.25 161.72,-115.83 277.31,-105.83 346.35,-103.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="346.01,-107.47 355.93,-103.76 345.85,-100.47 346.01,-107.47"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="568.25,-242.88 514.75,-242.88 514.75,-223.62 568.25,-223.62 568.25,-242.88"/>
<text text-anchor="middle" x="541.5" y="-229.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge18_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge18_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M23.54,-216.31C30.89,-233.43 48.04,-268.3 73,-288.25 122.82,-328.07 144.73,-326.96 207.5,-338.25 317,-357.94 357.2,-360.92 456.25,-310.25 484.34,-295.88 510.08,-269.59 525.53,-251.78"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="527.89,-254.4 531.65,-244.5 522.54,-249.9 527.89,-254.4"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="590.75,-30.5 492.25,-30.5 492.25,0 590.75,0 590.75,-30.5"/>
<text text-anchor="start" x="500.25" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="541.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">hashFxn</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge19_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge19_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M23.65,-196.16C31.17,-178.95 48.58,-143.7 73,-122.25 122.59,-78.68 145.4,-81.64 207.5,-59.25 272.4,-35.85 289.44,-29.92 357.75,-20.25 398.44,-14.49 444.72,-13.28 480.53,-13.48"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="480.22,-16.98 490.25,-13.58 480.29,-9.98 480.22,-16.98"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_Node000012"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="313.88,-329.5 215.38,-329.5 215.38,-299 313.88,-299 313.88,-329.5"/>
<text text-anchor="start" x="223.38" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="264.62" y="-304.75" font-family="Helvetica,sans-Serif" font-size="10.00">display</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge17_Node000001_Node000012" class="edge">
<title>Node1&#45;&gt;Node12</title>
<g id="a_edge17_Node000001_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M27.96,-216.3C37.75,-227.33 54.86,-244.85 73,-255.25 113.75,-278.63 164.82,-293.79 203.84,-302.89"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="203.02,-306.29 213.55,-305.07 204.56,-299.46 203.02,-306.29"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_Node000013"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="171.5,-246.5 73,-246.5 73,-216 171.5,-216 171.5,-246.5"/>
<text text-anchor="start" x="81" y="-233" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="122.25" y="-221.75" font-family="Helvetica,sans-Serif" font-size="10.00">removalInfo</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node13 -->
<g id="edge21_Node000001_Node000013" class="edge">
<title>Node1&#45;&gt;Node13</title>
<g id="a_edge21_Node000001_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.22,-210.6C44.27,-212.34 52.81,-214.43 61.72,-216.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="60.68,-219.97 71.22,-218.96 62.35,-213.17 60.68,-219.97"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="321.75,-194.88 207.5,-194.88 207.5,-175.62 321.75,-175.62 321.75,-194.88"/>
<text text-anchor="middle" x="264.62" y="-181.38" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::add</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M171.95,-183.29C179.7,-183.46 187.84,-183.63 195.93,-183.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="195.71,-187.3 205.79,-184.01 195.86,-180.3 195.71,-187.3"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge15_Node000002_Node000005" class="edge">
<title>Node2&#45;&gt;Node5</title>
<g id="a_edge15_Node000002_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M169.95,-166.54C237.07,-146.85 362.98,-120.81 456.25,-166.25 479.59,-177.62 471.72,-196.36 492.25,-212.25 495.99,-215.14 500.19,-217.73 504.51,-220"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.74,-223.04 513.28,-224.13 505.72,-216.7 502.74,-223.04"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge16_Node000002_Node000006" class="edge">
<title>Node2&#45;&gt;Node6</title>
<g id="a_edge16_Node000002_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M144.3,-166.7C183.91,-138.24 273.18,-77.92 357.75,-47.25 397.37,-32.88 444.23,-24.84 480.58,-20.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="480.95,-23.9 490.48,-19.28 480.15,-16.94 480.95,-23.9"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node12 -->
<g id="edge13_Node000002_Node000012" class="edge">
<title>Node2&#45;&gt;Node12</title>
<g id="a_edge13_Node000002_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M157.85,-197.9C162.64,-200.71 167.34,-203.84 171.5,-207.25 191.3,-223.5 190.9,-232.75 207.5,-252.25 218.45,-265.11 231.04,-279.09 241.52,-290.51"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="238.68,-292.59 248.03,-297.57 243.82,-287.85 238.68,-292.59"/>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M292.1,-175.15C301.64,-171.19 312.35,-166.38 321.75,-161.25 340.49,-151.02 360.32,-137.74 376.04,-126.57"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="377.95,-129.51 384.01,-120.82 373.85,-123.83 377.95,-129.51"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_Node000011"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="456.25,-205.5 357.75,-205.5 357.75,-175 456.25,-175 456.25,-205.5"/>
<text text-anchor="start" x="365.75" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="407" y="-180.75" font-family="Helvetica,sans-Serif" font-size="10.00">rehash</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node11 -->
<g id="edge10_Node000003_Node000011" class="edge">
<title>Node3&#45;&gt;Node11</title>
<g id="a_edge10_Node000003_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M321.91,-180.62C329.8,-180.77 337.94,-181.04 345.9,-181.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="345.7,-184.92 355.88,-181.98 346.09,-177.93 345.7,-184.92"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M440.19,-119.85C446.02,-123.66 451.69,-128.15 456.25,-133.25 481.94,-162.04 464.73,-185.2 492.25,-212.25 495.69,-215.64 499.77,-218.52 504.08,-220.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.45,-224.06 512.98,-225.24 505.48,-217.75 502.45,-224.06"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge5_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M436.53,-88.59C443.2,-84.53 450.13,-79.96 456.25,-75.25 473.93,-61.63 474.15,-53.3 492.25,-40.25 493.97,-39.01 495.76,-37.79 497.6,-36.61"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="498.96,-39.87 505.74,-31.73 495.36,-33.87 498.96,-39.87"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/pow.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="568.25,-202.88 514.75,-202.88 514.75,-183.62 568.25,-183.62 568.25,-202.88"/>
<text text-anchor="middle" x="541.5" y="-189.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::pow</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node7 -->
<g id="edge6_Node000004_Node000007" class="edge">
<title>Node4&#45;&gt;Node7</title>
<g id="a_edge6_Node000004_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M437.31,-119.88C443.81,-123.88 450.47,-128.43 456.25,-133.25 474.86,-148.79 472.41,-160.3 492.25,-174.25 495.88,-176.8 499.89,-179.07 504.01,-181.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.35,-184.17 512.92,-184.92 505.13,-177.74 502.35,-184.17"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="590.75,-165.5 492.25,-165.5 492.25,-135 590.75,-135 590.75,-165.5"/>
<text text-anchor="start" x="500.25" y="-152" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="541.5" y="-140.75" font-family="Helvetica,sans-Serif" font-size="10.00">putProber</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge7_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge7_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M453.23,-119.95C463.36,-123.47 474.21,-127.24 484.71,-130.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="483.45,-134.15 494.05,-134.12 485.75,-127.54 483.45,-134.15"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="571.25,-116.88 511.75,-116.88 511.75,-97.62 571.25,-97.62 571.25,-116.88"/>
<text text-anchor="middle" x="541.5" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node9 -->
<g id="edge8_Node000004_Node000009" class="edge">
<title>Node4&#45;&gt;Node9</title>
<g id="a_edge8_Node000004_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.59,-105.35C471.01,-105.68 486.64,-106.03 500.46,-106.34"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="499.98,-109.83 510.06,-106.56 500.14,-102.84 499.98,-109.83"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="590.75,-79.5 492.25,-79.5 492.25,-49 590.75,-49 590.75,-79.5"/>
<text text-anchor="start" x="500.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="541.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">searchingProber</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node10 -->
<g id="edge9_Node000004_Node000010" class="edge">
<title>Node4&#45;&gt;Node10</title>
<g id="a_edge9_Node000004_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.59,-89.58C464.51,-87.19 472.79,-84.69 480.94,-82.23"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="481.91,-85.59 490.47,-79.35 479.89,-78.89 481.91,-85.59"/>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node3 -->
<g id="edge11_Node000011_Node000003" class="edge">
<title>Node11&#45;&gt;Node3</title>
<g id="a_edge11_Node000011_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M357.39,-194.98C349.61,-194.92 341.44,-194.72 333.32,-194.41"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="333.57,-190.92 323.42,-193.95 333.25,-197.91 333.57,-190.92"/>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node5 -->
<g id="edge12_Node000011_Node000005" class="edge">
<title>Node11&#45;&gt;Node5</title>
<g id="a_edge12_Node000011_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.21,-205.9C471.89,-210.99 489.04,-216.55 503.75,-221.32"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.42,-224.57 513.01,-224.33 504.58,-217.91 502.42,-224.57"/>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node5 -->
<g id="edge14_Node000012_Node000005" class="edge">
<title>Node12&#45;&gt;Node5</title>
<g id="a_edge14_Node000012_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M314.35,-312.21C353.68,-309.31 409.9,-302.27 456.25,-285.25 479.1,-276.86 502.45,-261.84 518.75,-250.09"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="520.76,-252.96 526.71,-244.19 516.6,-247.34 520.76,-252.96"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node5 -->
<g id="edge23_Node000013_Node000005" class="edge">
<title>Node13&#45;&gt;Node5</title>
<g id="a_edge23_Node000013_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M171.88,-245.51C183.45,-248.31 195.83,-250.82 207.5,-252.25 314.41,-265.37 441.77,-249.39 503.41,-239.68"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="503.68,-243.18 513,-238.13 502.57,-236.27 503.68,-243.18"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node6 -->
<g id="edge24_Node000013_Node000006" class="edge">
<title>Node13&#45;&gt;Node6</title>
<g id="a_edge24_Node000013_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M157.42,-215.52C162.33,-212.71 167.17,-209.6 171.5,-206.25 190.42,-191.62 188.57,-180.86 207.5,-166.25 252.74,-131.33 273.33,-137.61 321.75,-107.25 338.69,-96.62 340.04,-89.55 357.75,-80.25 398.63,-58.79 412.77,-62.78 456.25,-47.25 467.08,-43.38 478.64,-39.1 489.61,-34.95"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="490.82,-38.24 498.92,-31.41 488.33,-31.69 490.82,-38.24"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node12 -->
<g id="edge22_Node000013_Node000012" class="edge">
<title>Node13&#45;&gt;Node12</title>
<g id="a_edge22_Node000013_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M146.49,-246.98C163.21,-258.08 186.43,-273.09 207.5,-285.25 212.12,-287.92 217.02,-290.62 221.92,-293.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="220.06,-296.23 230.54,-297.8 223.33,-290.04 220.06,-296.23"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_Node000014"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="313.88,-243.5 215.38,-243.5 215.38,-213 313.88,-213 313.88,-243.5"/>
<text text-anchor="start" x="223.38" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="264.62" y="-218.75" font-family="Helvetica,sans-Serif" font-size="10.00">remove</text>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node14 -->
<g id="edge25_Node000013_Node000014" class="edge">
<title>Node13&#45;&gt;Node14</title>
<g id="a_edge25_Node000013_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M171.95,-230.21C182.19,-229.99 193.1,-229.76 203.69,-229.53"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="203.57,-233.03 213.5,-229.32 203.42,-226.04 203.57,-233.03"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node4 -->
<g id="edge27_Node000014_Node000004" class="edge">
<title>Node14&#45;&gt;Node4</title>
<g id="a_edge27_Node000014_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M308.18,-212.61C312.94,-210.13 317.58,-207.34 321.75,-204.25 336.86,-193.06 367.69,-154.48 387.57,-128.64"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="390.14,-131.05 393.43,-120.98 384.58,-126.79 390.14,-131.05"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node5 -->
<g id="edge26_Node000014_Node000005" class="edge">
<title>Node14&#45;&gt;Node5</title>
<g id="a_edge26_Node000014_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M314.13,-229.13C368.1,-230.11 454.12,-231.68 503.11,-232.57"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.86,-236.07 512.92,-232.75 502.99,-229.07 502.86,-236.07"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,390 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: main Pages: 1 -->
<svg width="599pt" height="360pt"
viewBox="0.00 0.00 598.75 360.20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 356.2)">
<title>main</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37,-215.88 0,-215.88 0,-196.62 37,-196.62 37,-215.88"/>
<text text-anchor="middle" x="18.5" y="-202.38" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="171.5,-197.5 73,-197.5 73,-167 171.5,-167 171.5,-197.5"/>
<text text-anchor="start" x="81" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="122.25" y="-172.75" font-family="Helvetica,sans-Serif" font-size="10.00">addInfo</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.22,-202.07C44.27,-200.41 52.81,-198.39 61.72,-196.29"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="62.29,-199.75 71.22,-194.05 60.68,-192.94 62.29,-199.75"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="456.25,-119.5 357.75,-119.5 357.75,-89 456.25,-89 456.25,-119.5"/>
<text text-anchor="start" x="365.75" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="407" y="-94.75" font-family="Helvetica,sans-Serif" font-size="10.00">quadraticProbe</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge20_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge20_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M27.41,-196.34C36.96,-185.14 54.09,-167.29 73,-158.25 161.72,-115.83 277.31,-105.83 346.35,-103.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="346.01,-107.47 355.93,-103.76 345.85,-100.47 346.01,-107.47"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="568.25,-242.88 514.75,-242.88 514.75,-223.62 568.25,-223.62 568.25,-242.88"/>
<text text-anchor="middle" x="541.5" y="-229.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge18_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge18_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M23.54,-216.31C30.89,-233.43 48.04,-268.3 73,-288.25 122.82,-328.07 144.73,-326.96 207.5,-338.25 317,-357.94 357.2,-360.92 456.25,-310.25 484.34,-295.88 510.08,-269.59 525.53,-251.78"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="527.89,-254.4 531.65,-244.5 522.54,-249.9 527.89,-254.4"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="590.75,-30.5 492.25,-30.5 492.25,0 590.75,0 590.75,-30.5"/>
<text text-anchor="start" x="500.25" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="541.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">hashFxn</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge19_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge19_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M23.65,-196.16C31.17,-178.95 48.58,-143.7 73,-122.25 122.59,-78.68 145.4,-81.64 207.5,-59.25 272.4,-35.85 289.44,-29.92 357.75,-20.25 398.44,-14.49 444.72,-13.28 480.53,-13.48"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="480.22,-16.98 490.25,-13.58 480.29,-9.98 480.22,-16.98"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_Node000012"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="313.88,-329.5 215.38,-329.5 215.38,-299 313.88,-299 313.88,-329.5"/>
<text text-anchor="start" x="223.38" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="264.62" y="-304.75" font-family="Helvetica,sans-Serif" font-size="10.00">display</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge17_Node000001_Node000012" class="edge">
<title>Node1&#45;&gt;Node12</title>
<g id="a_edge17_Node000001_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M27.96,-216.3C37.75,-227.33 54.86,-244.85 73,-255.25 113.75,-278.63 164.82,-293.79 203.84,-302.89"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="203.02,-306.29 213.55,-305.07 204.56,-299.46 203.02,-306.29"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_Node000013"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="171.5,-246.5 73,-246.5 73,-216 171.5,-216 171.5,-246.5"/>
<text text-anchor="start" x="81" y="-233" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="122.25" y="-221.75" font-family="Helvetica,sans-Serif" font-size="10.00">removalInfo</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node13 -->
<g id="edge21_Node000001_Node000013" class="edge">
<title>Node1&#45;&gt;Node13</title>
<g id="a_edge21_Node000001_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.22,-210.6C44.27,-212.34 52.81,-214.43 61.72,-216.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="60.68,-219.97 71.22,-218.96 62.35,-213.17 60.68,-219.97"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="321.75,-194.88 207.5,-194.88 207.5,-175.62 321.75,-175.62 321.75,-194.88"/>
<text text-anchor="middle" x="264.62" y="-181.38" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::add</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M171.95,-183.29C179.7,-183.46 187.84,-183.63 195.93,-183.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="195.71,-187.3 205.79,-184.01 195.86,-180.3 195.71,-187.3"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge15_Node000002_Node000005" class="edge">
<title>Node2&#45;&gt;Node5</title>
<g id="a_edge15_Node000002_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M169.95,-166.54C237.07,-146.85 362.98,-120.81 456.25,-166.25 479.59,-177.62 471.72,-196.36 492.25,-212.25 495.99,-215.14 500.19,-217.73 504.51,-220"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.74,-223.04 513.28,-224.13 505.72,-216.7 502.74,-223.04"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge16_Node000002_Node000006" class="edge">
<title>Node2&#45;&gt;Node6</title>
<g id="a_edge16_Node000002_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M144.3,-166.7C183.91,-138.24 273.18,-77.92 357.75,-47.25 397.37,-32.88 444.23,-24.84 480.58,-20.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="480.95,-23.9 490.48,-19.28 480.15,-16.94 480.95,-23.9"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node12 -->
<g id="edge13_Node000002_Node000012" class="edge">
<title>Node2&#45;&gt;Node12</title>
<g id="a_edge13_Node000002_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M157.85,-197.9C162.64,-200.71 167.34,-203.84 171.5,-207.25 191.3,-223.5 190.9,-232.75 207.5,-252.25 218.45,-265.11 231.04,-279.09 241.52,-290.51"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="238.68,-292.59 248.03,-297.57 243.82,-287.85 238.68,-292.59"/>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M292.1,-175.15C301.64,-171.19 312.35,-166.38 321.75,-161.25 340.49,-151.02 360.32,-137.74 376.04,-126.57"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="377.95,-129.51 384.01,-120.82 373.85,-123.83 377.95,-129.51"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_Node000011"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="456.25,-205.5 357.75,-205.5 357.75,-175 456.25,-175 456.25,-205.5"/>
<text text-anchor="start" x="365.75" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="407" y="-180.75" font-family="Helvetica,sans-Serif" font-size="10.00">rehash</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node11 -->
<g id="edge10_Node000003_Node000011" class="edge">
<title>Node3&#45;&gt;Node11</title>
<g id="a_edge10_Node000003_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M321.91,-180.62C329.8,-180.77 337.94,-181.04 345.9,-181.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="345.7,-184.92 355.88,-181.98 346.09,-177.93 345.7,-184.92"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M440.19,-119.85C446.02,-123.66 451.69,-128.15 456.25,-133.25 481.94,-162.04 464.73,-185.2 492.25,-212.25 495.69,-215.64 499.77,-218.52 504.08,-220.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.45,-224.06 512.98,-225.24 505.48,-217.75 502.45,-224.06"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge5_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M436.53,-88.59C443.2,-84.53 450.13,-79.96 456.25,-75.25 473.93,-61.63 474.15,-53.3 492.25,-40.25 493.97,-39.01 495.76,-37.79 497.6,-36.61"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="498.96,-39.87 505.74,-31.73 495.36,-33.87 498.96,-39.87"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/pow.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="568.25,-202.88 514.75,-202.88 514.75,-183.62 568.25,-183.62 568.25,-202.88"/>
<text text-anchor="middle" x="541.5" y="-189.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::pow</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node7 -->
<g id="edge6_Node000004_Node000007" class="edge">
<title>Node4&#45;&gt;Node7</title>
<g id="a_edge6_Node000004_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M437.31,-119.88C443.81,-123.88 450.47,-128.43 456.25,-133.25 474.86,-148.79 472.41,-160.3 492.25,-174.25 495.88,-176.8 499.89,-179.07 504.01,-181.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.35,-184.17 512.92,-184.92 505.13,-177.74 502.35,-184.17"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="590.75,-165.5 492.25,-165.5 492.25,-135 590.75,-135 590.75,-165.5"/>
<text text-anchor="start" x="500.25" y="-152" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="541.5" y="-140.75" font-family="Helvetica,sans-Serif" font-size="10.00">putProber</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge7_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge7_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M453.23,-119.95C463.36,-123.47 474.21,-127.24 484.71,-130.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="483.45,-134.15 494.05,-134.12 485.75,-127.54 483.45,-134.15"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="571.25,-116.88 511.75,-116.88 511.75,-97.62 571.25,-97.62 571.25,-116.88"/>
<text text-anchor="middle" x="541.5" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node9 -->
<g id="edge8_Node000004_Node000009" class="edge">
<title>Node4&#45;&gt;Node9</title>
<g id="a_edge8_Node000004_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.59,-105.35C471.01,-105.68 486.64,-106.03 500.46,-106.34"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="499.98,-109.83 510.06,-106.56 500.14,-102.84 499.98,-109.83"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="590.75,-79.5 492.25,-79.5 492.25,-49 590.75,-49 590.75,-79.5"/>
<text text-anchor="start" x="500.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="541.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">searchingProber</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node10 -->
<g id="edge9_Node000004_Node000010" class="edge">
<title>Node4&#45;&gt;Node10</title>
<g id="a_edge9_Node000004_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.59,-89.58C464.51,-87.19 472.79,-84.69 480.94,-82.23"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="481.91,-85.59 490.47,-79.35 479.89,-78.89 481.91,-85.59"/>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node3 -->
<g id="edge11_Node000011_Node000003" class="edge">
<title>Node11&#45;&gt;Node3</title>
<g id="a_edge11_Node000011_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M357.39,-194.98C349.61,-194.92 341.44,-194.72 333.32,-194.41"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="333.57,-190.92 323.42,-193.95 333.25,-197.91 333.57,-190.92"/>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node5 -->
<g id="edge12_Node000011_Node000005" class="edge">
<title>Node11&#45;&gt;Node5</title>
<g id="a_edge12_Node000011_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.21,-205.9C471.89,-210.99 489.04,-216.55 503.75,-221.32"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.42,-224.57 513.01,-224.33 504.58,-217.91 502.42,-224.57"/>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node5 -->
<g id="edge14_Node000012_Node000005" class="edge">
<title>Node12&#45;&gt;Node5</title>
<g id="a_edge14_Node000012_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M314.35,-312.21C353.68,-309.31 409.9,-302.27 456.25,-285.25 479.1,-276.86 502.45,-261.84 518.75,-250.09"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="520.76,-252.96 526.71,-244.19 516.6,-247.34 520.76,-252.96"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node5 -->
<g id="edge23_Node000013_Node000005" class="edge">
<title>Node13&#45;&gt;Node5</title>
<g id="a_edge23_Node000013_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M171.88,-245.51C183.45,-248.31 195.83,-250.82 207.5,-252.25 314.41,-265.37 441.77,-249.39 503.41,-239.68"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="503.68,-243.18 513,-238.13 502.57,-236.27 503.68,-243.18"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node6 -->
<g id="edge24_Node000013_Node000006" class="edge">
<title>Node13&#45;&gt;Node6</title>
<g id="a_edge24_Node000013_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M157.42,-215.52C162.33,-212.71 167.17,-209.6 171.5,-206.25 190.42,-191.62 188.57,-180.86 207.5,-166.25 252.74,-131.33 273.33,-137.61 321.75,-107.25 338.69,-96.62 340.04,-89.55 357.75,-80.25 398.63,-58.79 412.77,-62.78 456.25,-47.25 467.08,-43.38 478.64,-39.1 489.61,-34.95"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="490.82,-38.24 498.92,-31.41 488.33,-31.69 490.82,-38.24"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node12 -->
<g id="edge22_Node000013_Node000012" class="edge">
<title>Node13&#45;&gt;Node12</title>
<g id="a_edge22_Node000013_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M146.49,-246.98C163.21,-258.08 186.43,-273.09 207.5,-285.25 212.12,-287.92 217.02,-290.62 221.92,-293.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="220.06,-296.23 230.54,-297.8 223.33,-290.04 220.06,-296.23"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_Node000014"><a xlink:href="../../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="313.88,-243.5 215.38,-243.5 215.38,-213 313.88,-213 313.88,-243.5"/>
<text text-anchor="start" x="223.38" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">quadratic_probing::</text>
<text text-anchor="middle" x="264.62" y="-218.75" font-family="Helvetica,sans-Serif" font-size="10.00">remove</text>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node14 -->
<g id="edge25_Node000013_Node000014" class="edge">
<title>Node13&#45;&gt;Node14</title>
<g id="a_edge25_Node000013_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M171.95,-230.21C182.19,-229.99 193.1,-229.76 203.69,-229.53"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="203.57,-233.03 213.5,-229.32 203.42,-226.04 203.57,-233.03"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node4 -->
<g id="edge27_Node000014_Node000004" class="edge">
<title>Node14&#45;&gt;Node4</title>
<g id="a_edge27_Node000014_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M308.18,-212.61C312.94,-210.13 317.58,-207.34 321.75,-204.25 336.86,-193.06 367.69,-154.48 387.57,-128.64"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="390.14,-131.05 393.43,-120.98 384.58,-126.79 390.14,-131.05"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node5 -->
<g id="edge26_Node000014_Node000005" class="edge">
<title>Node14&#45;&gt;Node5</title>
<g id="a_edge26_Node000014_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M314.13,-229.13C368.1,-230.11 454.12,-231.68 503.11,-232.57"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="502.86,-236.07 512.92,-232.75 502.99,-229.07 502.86,-236.07"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,415 @@
<!-- HTML header for doxygen 1.12.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<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="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: hashing/quadratic_probing_hash_table.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@xpack-3rd-party/doxygen-awesome-css@2.2.0-1/doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
window.MathJax = {
options: {
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
},
loader: {
load: ['[tex]/ams']
},
tex: {
macros: {},
packages: ['base','configmacros','ams']
}
};
</script>
<script type="text/javascript" id="MathJax-script" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../project_logo.png"/></td>
<td id="projectalign">
<div id="projectname">TheAlgorithms/C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">All the algorithms implemented in C++</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('db/d71/quadratic__probing__hash__table_8cpp_source.html','../../'); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">quadratic_probing_hash_table.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../db/d71/quadratic__probing__hash__table_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="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;iostream&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="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d4/dd2/namespacequadratic__probing.html">quadratic_probing</a> {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">// fwd declarations</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">using </span><a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a> = <span class="keyword">struct </span><a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a>;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b">putProber</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a>&amp; entry, <span class="keywordtype">int</span> key);</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6">searchingProber</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a>&amp; entry, <span class="keywordtype">int</span> key);</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9">add</a>(<span class="keywordtype">int</span> key);</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">// globals</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keywordtype">int</span> notPresent;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>std::vector&lt;Entry&gt; table;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keywordtype">int</span> totalSize;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keywordtype">int</span> tomb = -1;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keywordtype">int</span> size;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keywordtype">bool</span> rehashing;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="foldopen" id="foldopen00037" data-start="{" data-end="};">
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="../../da/dd1/structquadratic__probing_1_1_entry.html"> 37</a></span><span class="keyword">struct </span><a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a> {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e"> 38</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e">Entry</a>(<span class="keywordtype">int</span> <a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> = notPresent) : <a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a>(<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a>) {} </div>
<div class="foldopen" id="foldopen00039" data-start="{" data-end="};">
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8"> 39</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a>; </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>};</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="foldopen" id="foldopen00046" data-start="{" data-end="}">
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7"> 46</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">hashFxn</a>(<span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> std::hash&lt;int&gt; hash;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">return</span> hash(key);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>}</div>
</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="foldopen" id="foldopen00056" data-start="{" data-end="}">
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf"> 56</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadraticProbe</a>(<span class="keywordtype">int</span> key, <span class="keywordtype">bool</span> searching) {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> hash = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">hashFxn</a>(key));</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a> entry;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">do</span> {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">size_t</span> index =</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> (hash + <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(std::round(std::pow(i, 2)))) %</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> totalSize;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> entry = table[index];</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">if</span> (searching) {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> == notPresent) {</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> }</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6">searchingProber</a>(entry, key)) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Found key!&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> index;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Found tombstone or equal hash, checking next&quot;</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> i++;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b">putProber</a>(entry, key)) {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">if</span> (!rehashing) {</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Spot found!&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> index;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> }</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (!rehashing) {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Spot taken, looking at next (next index = &quot;</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> &lt;&lt; (hash + <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> std::round(std::pow(i + 1, 2)))) %</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> totalSize</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> i++;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">if</span> (i == totalSize * 100) {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Quadratic probe failed (infinite loop)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> }</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> } <span class="keywordflow">while</span> (entry.<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> != notPresent);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>}</div>
</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="foldopen" id="foldopen00106" data-start="{" data-end="}">
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b"> 106</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b">putProber</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a>&amp; entry, <span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> == notPresent || entry.<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> == tomb) {</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span>}</div>
</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="foldopen" id="foldopen00119" data-start="{" data-end="}">
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6"> 119</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6">searchingProber</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a>&amp; entry, <span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> == key) {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span>}</div>
</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="foldopen" id="foldopen00131" data-start="{" data-end="}">
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d"> 131</a></span><a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d">find</a>(<span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> index = <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadraticProbe</a>(key, <span class="keyword">true</span>);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (index == notPresent) {</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">return</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">Entry</a>();</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> }</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> table[index];</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span>}</div>
</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="foldopen" id="foldopen00142" data-start="{" data-end="}">
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357"> 142</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">display</a>() {</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; totalSize; i++) {</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (table[i].key == notPresent) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> std::cout &lt;&lt; <span class="stringliteral">&quot; Empty &quot;</span>;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (table[i].key == tomb) {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> std::cout &lt;&lt; <span class="stringliteral">&quot; Tomb &quot;</span>;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> std::cout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> std::cout &lt;&lt; table[i].key;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> std::cout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> }</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> }</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span>}</div>
</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="foldopen" id="foldopen00160" data-start="{" data-end="}">
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486"> 160</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486">rehash</a>() {</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// Necessary so wall of add info isn&#39;t printed all at once</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> rehashing = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> oldSize = totalSize;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> std::vector&lt;Entry&gt; oldTable(table);</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="comment">// Really this should use the next prime number greater than totalSize * 2</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> totalSize *= 2;</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> table = std::vector&lt;Entry&gt;(totalSize);</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; oldSize; i++) {</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (oldTable[i].key != -1 &amp;&amp; oldTable[i].key != notPresent) {</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> size--; <span class="comment">// Size stays the same (add increments size)</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9">add</a>(oldTable[i].key);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> }</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> }</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="comment">// delete[] oldTable;</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> rehashing = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Table was rehashed, new size is: &quot;</span> &lt;&lt; totalSize &lt;&lt; std::endl;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span>}</div>
</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
<div class="foldopen" id="foldopen00182" data-start="{" data-end="}">
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9"> 182</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9">add</a>(<span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">int</span> index = <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadraticProbe</a>(key, <span class="keyword">false</span>);</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> table[index].key = key;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="comment">// Load factor greater than 0.5 causes resizing</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (++size / <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(totalSize) &gt;= 0.5) {</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486">rehash</a>();</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> }</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span>}</div>
</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="foldopen" id="foldopen00194" data-start="{" data-end="}">
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a"> 194</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a">remove</a>(<span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> index = <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadraticProbe</a>(key, <span class="keyword">true</span>);</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (index == notPresent) {</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> std::cout &lt;&lt; <span class="stringliteral">&quot;key not found&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> }</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> table[index].key = tomb;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Removal successful, leaving tombstone&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> size--;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span>}</div>
</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> </div>
<div class="foldopen" id="foldopen00207" data-start="{" data-end="}">
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768"> 207</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768">addInfo</a>(<span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Initial table: &quot;</span>;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">display</a>();</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> std::cout &lt;&lt; <span class="stringliteral">&quot;hash of &quot;</span> &lt;&lt; key &lt;&lt; <span class="stringliteral">&quot; is &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">hashFxn</a>(key) &lt;&lt; <span class="stringliteral">&quot; % &quot;</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> &lt;&lt; totalSize &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">hashFxn</a>(key) % totalSize;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9">add</a>(key);</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> std::cout &lt;&lt; <span class="stringliteral">&quot;New table: &quot;</span>;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">display</a>();</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span>}</div>
</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
<div class="foldopen" id="foldopen00222" data-start="{" data-end="}">
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30"> 222</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30">removalInfo</a>(<span class="keywordtype">int</span> key) {</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Initial table: &quot;</span>;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">display</a>();</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> std::cout &lt;&lt; <span class="stringliteral">&quot;hash of &quot;</span> &lt;&lt; key &lt;&lt; <span class="stringliteral">&quot; is &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">hashFxn</a>(key) &lt;&lt; <span class="stringliteral">&quot; % &quot;</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> &lt;&lt; totalSize &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">hashFxn</a>(key) % totalSize;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a">remove</a>(key);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> std::cout &lt;&lt; <span class="stringliteral">&quot;New table: &quot;</span>;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">display</a>();</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span>}</div>
</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span>} <span class="comment">// namespace quadratic_probing</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span><span class="keyword">using </span><a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">quadratic_probing::Entry</a>;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="keyword">using </span>quadratic_probing::table;</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="keyword">using </span>quadratic_probing::totalSize;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="foldopen" id="foldopen00246" data-start="{" data-end="}">
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="../../db/d71/quadratic__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 246</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../db/d71/quadratic__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">int</span> cmd = 0, hash = 0, key = 0;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter the initial size of Hash Table. = &quot;</span>;</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> std::cin &gt;&gt; totalSize;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> table = std::vector&lt;Entry&gt;(totalSize);</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">bool</span> loop = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">while</span> (loop) {</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> std::cout &lt;&lt; <span class="stringliteral">&quot;PLEASE CHOOSE -&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> std::cout &lt;&lt; <span class="stringliteral">&quot;1. Add key. (Numeric only)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> std::cout &lt;&lt; <span class="stringliteral">&quot;2. Remove key.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> std::cout &lt;&lt; <span class="stringliteral">&quot;3. Find key.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> std::cout &lt;&lt; <span class="stringliteral">&quot;4. Generate Hash. (Numeric only)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> std::cout &lt;&lt; <span class="stringliteral">&quot;5. Display Hash table.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> std::cout &lt;&lt; <span class="stringliteral">&quot;6. Exit.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> std::cin &gt;&gt; cmd;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">switch</span> (cmd) {</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">case</span> 1:</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter key to add = &quot;</span>;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> std::cin &gt;&gt; key;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768">quadratic_probing::addInfo</a>(key);</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">case</span> 2:</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter key to remove = &quot;</span>;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> std::cin &gt;&gt; key;</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30">quadratic_probing::removalInfo</a>(key);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">case</span> 3: {</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter key to search = &quot;</span>;</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> std::cin &gt;&gt; key;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <a class="code hl_struct" href="../../da/dd1/structquadratic__probing_1_1_entry.html">quadratic_probing::Entry</a> entry =</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> quadratic_probing::table[<a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadratic_probing::quadraticProbe</a>(</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> key, <span class="keyword">true</span>)];</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">key</a> == quadratic_probing::notPresent) {</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Key not present&quot;</span>;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> }</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> }</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">case</span> 4:</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter element to generate hash = &quot;</span>;</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> std::cin &gt;&gt; key;</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Hash of &quot;</span> &lt;&lt; key</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> &lt;&lt; <span class="stringliteral">&quot; is = &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">quadratic_probing::hashFxn</a>(key);</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="keywordflow">case</span> 5:</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <a class="code hl_function" href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">quadratic_probing::display</a>();</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> loop = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="comment">// delete[] table;</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> }</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> }</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span>}</div>
</div>
</div>
</div>
<div class="ttc" id="anamespacequadratic__probing_html"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html">quadratic_probing</a></div><div class="ttdoc">An implementation of hash table using quadratic probing algorithm.</div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a00ebcc6d39653eccc26f8432efbfc8d9"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9">quadratic_probing::add</a></div><div class="ttdeci">void add(int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00182">quadratic_probing_hash_table.cpp:182</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a07a0467b24102260fbb6b554c453c20a"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a">quadratic_probing::remove</a></div><div class="ttdeci">void remove(int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00194">quadratic_probing_hash_table.cpp:194</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a2093d91dd3d377cf0a5c939e45dcefc7"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7">quadratic_probing::hashFxn</a></div><div class="ttdeci">size_t hashFxn(int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00046">quadratic_probing_hash_table.cpp:46</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a312143ed316d48978084c025ff8d9768"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768">quadratic_probing::addInfo</a></div><div class="ttdeci">void addInfo(int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00207">quadratic_probing_hash_table.cpp:207</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a40d617ebf4d6ba21bcda8d8d1faa2357"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357">quadratic_probing::display</a></div><div class="ttdeci">void display()</div><div class="ttdef"><b>Definition</b> <a href="#l00142">quadratic_probing_hash_table.cpp:142</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a5ceee4128d92ca4412040b7104d1299d"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d">quadratic_probing::find</a></div><div class="ttdeci">Entry find(int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00131">quadratic_probing_hash_table.cpp:131</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_a69fe1f7c36fe004ba83eef2ca82e7e30"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30">quadratic_probing::removalInfo</a></div><div class="ttdeci">void removalInfo(int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00222">quadratic_probing_hash_table.cpp:222</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_ab431981b54c0bae1b2956f716aee1dcf"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf">quadratic_probing::quadraticProbe</a></div><div class="ttdeci">int quadraticProbe(int key, bool searching)</div><div class="ttdef"><b>Definition</b> <a href="#l00056">quadratic_probing_hash_table.cpp:56</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_ada6f1f44f7e83b0094fbcbe170788486"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486">quadratic_probing::rehash</a></div><div class="ttdeci">void rehash()</div><div class="ttdef"><b>Definition</b> <a href="#l00160">quadratic_probing_hash_table.cpp:160</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_adccc63a7e57cc6dba75bd62f40feb88b"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b">quadratic_probing::putProber</a></div><div class="ttdeci">bool putProber(const Entry &amp;entry, int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00106">quadratic_probing_hash_table.cpp:106</a></div></div>
<div class="ttc" id="anamespacequadratic__probing_html_aeb6bca8db4768226f8ea8291ea4f83f6"><div class="ttname"><a href="../../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6">quadratic_probing::searchingProber</a></div><div class="ttdeci">bool searchingProber(const Entry &amp;entry, int key)</div><div class="ttdef"><b>Definition</b> <a href="#l00119">quadratic_probing_hash_table.cpp:119</a></div></div>
<div class="ttc" id="aquadratic__probing__hash__table_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../db/d71/quadratic__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition</b> <a href="#l00246">quadratic_probing_hash_table.cpp:246</a></div></div>
<div class="ttc" id="astructquadratic__probing_1_1_entry_html"><div class="ttname"><a href="../../da/dd1/structquadratic__probing_1_1_entry.html">quadratic_probing::Entry</a></div><div class="ttdef"><b>Definition</b> <a href="#l00037">quadratic_probing_hash_table.cpp:37</a></div></div>
<div class="ttc" id="astructquadratic__probing_1_1_entry_html_a75f72858f08a2fc8b94402de98db12d8"><div class="ttname"><a href="../../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8">quadratic_probing::Entry::key</a></div><div class="ttdeci">int key</div><div class="ttdoc">key value</div><div class="ttdef"><b>Definition</b> <a href="#l00039">quadratic_probing_hash_table.cpp:39</a></div></div>
<div class="ttc" id="astructquadratic__probing_1_1_entry_html_a9df1118010a233d13ab3dd699bcb513e"><div class="ttname"><a href="../../da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e">quadratic_probing::Entry::Entry</a></div><div class="ttdeci">Entry(int key=notPresent)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition</b> <a href="#l00038">quadratic_probing_hash_table.cpp:38</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="../../db/d71/quadratic__probing__hash__table_8cpp.html">quadratic_probing_hash_table.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>
</ul>
</div>
</body>
</html>