|
|
|
|
@@ -97,12 +97,19 @@ $(document).ready(function(){initNavTree('d1/def/classdata__structures_1_1linked
|
|
|
|
|
<div class="headertitle"><div class="title">data_structures::linked_list::list Class Reference</div></div>
|
|
|
|
|
</div><!--header-->
|
|
|
|
|
<div class="contents">
|
|
|
|
|
<div class="dynheader">
|
|
|
|
|
Collaboration diagram for data_structures::linked_list::list:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.svg" width="220" height="156"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
</div>
|
|
|
|
|
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
|
|
|
|
|
<table class="memberdecls">
|
|
|
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
|
|
|
Public Member Functions</h2></td></tr>
|
|
|
|
|
<tr class="memitem:a50e209b55b83622254177050945e7826"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826">list</a> ()</td></tr>
|
|
|
|
|
<tr class="separator:a50e209b55b83622254177050945e7826"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ae8424a4fce3d483f7c85d6f6a5c79a1a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">isEmpty</a> ()</td></tr>
|
|
|
|
|
<tr class="memdesc:ae8424a4fce3d483f7c85d6f6a5c79a1a"><td class="mdescLeft"> </td><td class="mdescRight">Utility function that checks if the list is empty. <a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">More...</a><br /></td></tr>
|
|
|
|
|
<tr class="separator:ae8424a4fce3d483f7c85d6f6a5c79a1a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ad585670a392c7e842c992d088093dff5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad585670a392c7e842c992d088093dff5">push_back</a> (int new_elem)</td></tr>
|
|
|
|
|
<tr class="separator:ad585670a392c7e842c992d088093dff5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
@@ -117,6 +124,29 @@ Public Member Functions</h2></td></tr>
|
|
|
|
|
<tr class="memitem:af0981944884c6dc19361ff67451261c9"><td class="memItemLeft" align="right" valign="top"><a id="af0981944884c6dc19361ff67451261c9" name="af0981944884c6dc19361ff67451261c9"></a>
|
|
|
|
|
void </td><td class="memItemRight" valign="bottom"><b>reverse</b> ()</td></tr>
|
|
|
|
|
<tr class="separator:af0981944884c6dc19361ff67451261c9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:a50e209b55b83622254177050945e7826"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826">list</a> ()</td></tr>
|
|
|
|
|
<tr class="separator:a50e209b55b83622254177050945e7826"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:a454ab4918f579869dfed4bb420a3f897"><td class="memItemLeft" align="right" valign="top"><a id="a454ab4918f579869dfed4bb420a3f897" name="a454ab4918f579869dfed4bb420a3f897"></a>
|
|
|
|
|
bool </td><td class="memItemRight" valign="bottom"><b>isEmpty</b> ()</td></tr>
|
|
|
|
|
<tr class="separator:a454ab4918f579869dfed4bb420a3f897"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:a4649fc2c5d09dc58608cd9299db9946f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a4649fc2c5d09dc58608cd9299db9946f">insert</a> (int32_t new_elem)</td></tr>
|
|
|
|
|
<tr class="memdesc:a4649fc2c5d09dc58608cd9299db9946f"><td class="mdescLeft"> </td><td class="mdescRight">Utility function that adds a new element at the end of the list. <a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a4649fc2c5d09dc58608cd9299db9946f">More...</a><br /></td></tr>
|
|
|
|
|
<tr class="separator:a4649fc2c5d09dc58608cd9299db9946f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:a8b20ca89a0346c8d4193936481528c70"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a8b20ca89a0346c8d4193936481528c70">reverseList</a> ()</td></tr>
|
|
|
|
|
<tr class="memdesc:a8b20ca89a0346c8d4193936481528c70"><td class="mdescLeft"> </td><td class="mdescRight">Utility function for reversing a list. <a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a8b20ca89a0346c8d4193936481528c70">More...</a><br /></td></tr>
|
|
|
|
|
<tr class="separator:a8b20ca89a0346c8d4193936481528c70"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:a1313837c0e9ec67fd9fbd17987e2d615"><td class="memItemLeft" align="right" valign="top"><a id="a1313837c0e9ec67fd9fbd17987e2d615" name="a1313837c0e9ec67fd9fbd17987e2d615"></a>
|
|
|
|
|
void </td><td class="memItemRight" valign="bottom"><b>display</b> ()</td></tr>
|
|
|
|
|
<tr class="separator:a1313837c0e9ec67fd9fbd17987e2d615"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ab2d20da40d800897c31a649799d5e43d"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab2d20da40d800897c31a649799d5e43d">top</a> ()</td></tr>
|
|
|
|
|
<tr class="memdesc:ab2d20da40d800897c31a649799d5e43d"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to find the top element of the list. <a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab2d20da40d800897c31a649799d5e43d">More...</a><br /></td></tr>
|
|
|
|
|
<tr class="separator:ab2d20da40d800897c31a649799d5e43d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:a18a6625cd2a3bf8a27dc5567f5e4eb04"><td class="memItemLeft" align="right" valign="top"><a id="a18a6625cd2a3bf8a27dc5567f5e4eb04" name="a18a6625cd2a3bf8a27dc5567f5e4eb04"></a>
|
|
|
|
|
int32_t </td><td class="memItemRight" valign="bottom"><b>last</b> ()</td></tr>
|
|
|
|
|
<tr class="separator:a18a6625cd2a3bf8a27dc5567f5e4eb04"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:af42071da0067130389cb12fc526ea4fe"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#af42071da0067130389cb12fc526ea4fe">traverse</a> (int32_t index)</td></tr>
|
|
|
|
|
<tr class="memdesc:af42071da0067130389cb12fc526ea4fe"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to find the i th element of the list. <a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#af42071da0067130389cb12fc526ea4fe">More...</a><br /></td></tr>
|
|
|
|
|
<tr class="separator:af42071da0067130389cb12fc526ea4fe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
</table><table class="memberdecls">
|
|
|
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
|
|
|
|
|
Private Attributes</h2></td></tr>
|
|
|
|
|
@@ -124,16 +154,18 @@ Private Attributes</h2></td></tr>
|
|
|
|
|
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../de/d9d/classdata__structures_1_1linked__list_1_1link.html">link</a> > </td><td class="memItemRight" valign="bottom"><b>first</b></td></tr>
|
|
|
|
|
<tr class="memdesc:aa3801cea564a3b3bb7b03abfffdcf1e1"><td class="mdescLeft"> </td><td class="mdescRight">link before the actual first element <br /></td></tr>
|
|
|
|
|
<tr class="separator:aa3801cea564a3b3bb7b03abfffdcf1e1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ae8a5aa5c6dbbc5b882030b52619dd1a3"><td class="memItemLeft" align="right" valign="top"><a id="ae8a5aa5c6dbbc5b882030b52619dd1a3" name="ae8a5aa5c6dbbc5b882030b52619dd1a3"></a>
|
|
|
|
|
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../de/d9d/classdata__structures_1_1linked__list_1_1link.html">link</a> > </td><td class="memItemRight" valign="bottom"><b>last</b></td></tr>
|
|
|
|
|
<tr class="memdesc:ae8a5aa5c6dbbc5b882030b52619dd1a3"><td class="mdescLeft"> </td><td class="mdescRight">last link on the list <br /></td></tr>
|
|
|
|
|
<tr class="separator:ae8a5aa5c6dbbc5b882030b52619dd1a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ab87eecc80068fc5a80e98e83536885f2"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../de/d9d/classdata__structures_1_1linked__list_1_1link.html">link</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a></td></tr>
|
|
|
|
|
<tr class="memdesc:ab87eecc80068fc5a80e98e83536885f2"><td class="mdescLeft"> </td><td class="mdescRight">last link on the list <a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">More...</a><br /></td></tr>
|
|
|
|
|
<tr class="separator:ab87eecc80068fc5a80e98e83536885f2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ad7e7823ae52c4ebf3b85a1bec096be5d"><td class="memItemLeft" align="right" valign="top"><a id="ad7e7823ae52c4ebf3b85a1bec096be5d" name="ad7e7823ae52c4ebf3b85a1bec096be5d"></a>
|
|
|
|
|
<a class="el" href="../../d4/d0e/classdata__structures_1_1linked__list_1_1_node.html">Node</a> * </td><td class="memItemRight" valign="bottom"><b>head</b></td></tr>
|
|
|
|
|
<tr class="separator:ad7e7823ae52c4ebf3b85a1bec096be5d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
</table>
|
|
|
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
|
|
|
<div class="textblock"><p >A list class containing a sequence of links </p>
|
|
|
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
|
|
|
<a id="a50e209b55b83622254177050945e7826" name="a50e209b55b83622254177050945e7826"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a50e209b55b83622254177050945e7826">◆ </a></span>list()</h2>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a50e209b55b83622254177050945e7826">◆ </a></span>list() <span class="overload">[1/2]</span></h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
@@ -159,10 +191,39 @@ Private Attributes</h2></td></tr>
|
|
|
|
|
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// Initialize the first link</span></div>
|
|
|
|
|
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a> = std::make_shared<link>();</div>
|
|
|
|
|
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="comment">// Initialize the last link with the first link</span></div>
|
|
|
|
|
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
|
|
|
|
|
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_aa3801cea564a3b3bb7b03abfffdcf1e1"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">data_structures::linked_list::list::first</a></div><div class="ttdeci">std::shared_ptr< link > first</div><div class="ttdoc">link before the actual first element</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:83</div></div>
|
|
|
|
|
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_ae8a5aa5c6dbbc5b882030b52619dd1a3"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">data_structures::linked_list::list::last</a></div><div class="ttdeci">std::shared_ptr< link > last</div><div class="ttdoc">last link on the list</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:84</div></div>
|
|
|
|
|
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_ab87eecc80068fc5a80e98e83536885f2"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">data_structures::linked_list::list::last</a></div><div class="ttdeci">std::shared_ptr< link > last</div><div class="ttdoc">last link on the list</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:84</div></div>
|
|
|
|
|
</div><!-- fragment -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="a50e209b55b83622254177050945e7826" name="a50e209b55b83622254177050945e7826"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a50e209b55b83622254177050945e7826">◆ </a></span>list() <span class="overload">[2/2]</span></h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="mlabels">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="mlabels-left">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname">data_structures::linked_list::list::list </td>
|
|
|
|
|
<td>(</td>
|
|
|
|
|
<td class="paramname"></td><td>)</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="mlabels-right">
|
|
|
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
<p >List constructor. Initializes the first link. </p>
|
|
|
|
|
<div class="fragment"><div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> head = <span class="keyword">nullptr</span>; <span class="comment">// Initialize the first link</span></div>
|
|
|
|
|
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
|
|
|
|
|
</div><!-- fragment -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -194,7 +255,7 @@ Private Attributes</h2></td></tr>
|
|
|
|
|
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span>}</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="aclassdata__structures_1_1linked__list_1_1list_html_ae8424a4fce3d483f7c85d6f6a5c79a1a"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">data_structures::linked_list::list::isEmpty</a></div><div class="ttdeci">bool isEmpty()</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:111</div></div>
|
|
|
|
|
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_ae8424a4fce3d483f7c85d6f6a5c79a1a"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">data_structures::linked_list::list::isEmpty</a></div><div class="ttdeci">bool isEmpty()</div><div class="ttdoc">Utility function that checks if the list is empty.</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:111</div></div>
|
|
|
|
|
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div></div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
@@ -233,10 +294,10 @@ Here is the call graph for this function:</div>
|
|
|
|
|
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<link></a> t = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>;</div>
|
|
|
|
|
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<link></a> to_be_removed = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">while</span> (t != <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> && t->succ()->val() != old_elem) {</div>
|
|
|
|
|
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">while</span> (t != <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> && t->succ()->val() != old_elem) {</div>
|
|
|
|
|
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> t = t->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (t == <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a>) {</div>
|
|
|
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (t == <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a>) {</div>
|
|
|
|
|
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Element not found\n"</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> }</div>
|
|
|
|
|
@@ -244,10 +305,10 @@ Here is the call graph for this function:</div>
|
|
|
|
|
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> t->succ() = t->succ()->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> to_be_removed.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr/reset.html">reset</a>();</div>
|
|
|
|
|
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (t->succ() == <span class="keyword">nullptr</span>) {</div>
|
|
|
|
|
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> = t;</div>
|
|
|
|
|
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> = t;</div>
|
|
|
|
|
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a> == <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a>){</div>
|
|
|
|
|
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a> == <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a>){</div>
|
|
|
|
|
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span>}</div>
|
|
|
|
|
<div class="ttc" id="areset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr/reset.html">std::shared_ptr::reset</a></div><div class="ttdeci">T reset(T... args)</div></div>
|
|
|
|
|
@@ -258,6 +319,60 @@ Here is the call graph for this function:</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="a4649fc2c5d09dc58608cd9299db9946f" name="a4649fc2c5d09dc58608cd9299db9946f"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4649fc2c5d09dc58608cd9299db9946f">◆ </a></span>insert()</h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname">void list::insert </td>
|
|
|
|
|
<td>(</td>
|
|
|
|
|
<td class="paramtype">int32_t </td>
|
|
|
|
|
<td class="paramname"><em>n</em></td><td>)</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
|
|
|
|
|
<p>Utility function that adds a new element at the end of the list. </p>
|
|
|
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
|
|
|
<table class="params">
|
|
|
|
|
<tr><td class="paramname">new_elem</td><td>element be added at the end of the list </td></tr>
|
|
|
|
|
</table>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<div class="fragment"><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">try</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *new_node = <span class="keyword">new</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a>();</div>
|
|
|
|
|
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *temp = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> new_node->val = n;</div>
|
|
|
|
|
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> new_node->next = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">isEmpty</a>()) {</div>
|
|
|
|
|
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> head = new_node;</div>
|
|
|
|
|
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> } <span class="keywordflow">else</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> temp = head;</div>
|
|
|
|
|
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">while</span> (temp->next != <span class="keyword">nullptr</span>) {</div>
|
|
|
|
|
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> temp = temp->next;</div>
|
|
|
|
|
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> temp->next = new_node;</div>
|
|
|
|
|
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> } <span class="keywordflow">catch</span> (<a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html">std::bad_alloc</a> &exception) {</div>
|
|
|
|
|
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> << <span class="stringliteral">"bad_alloc detected: "</span> << exception.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>}</div>
|
|
|
|
|
<div class="ttc" id="abad_alloc_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html">std::bad_alloc</a></div></div>
|
|
|
|
|
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition:</b> linkedlist_implentation_usingarray.cpp:14</div></div>
|
|
|
|
|
<div class="ttc" id="awhat_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/exception/what.html">std::bad_alloc::what</a></div><div class="ttdeci">T what(T... args)</div></div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d1/def/classdata__structures_1_1linked__list_1_1list_a4649fc2c5d09dc58608cd9299db9946f_cgraph.svg" width="371" height="104"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="ae8424a4fce3d483f7c85d6f6a5c79a1a" name="ae8424a4fce3d483f7c85d6f6a5c79a1a"></a>
|
|
|
|
|
@@ -274,11 +389,17 @@ Here is the call graph for this function:</div>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
|
|
|
|
|
<p>Utility function that checks if the list is empty. </p>
|
|
|
|
|
<p >function checks if list is empty </p><dl class="section return"><dt>Returns</dt><dd>true if list is empty </dd>
|
|
|
|
|
<dd>
|
|
|
|
|
false if list is not empty </dd></dl>
|
|
|
|
|
false if list is not empty</dd>
|
|
|
|
|
<dd>
|
|
|
|
|
true if the list is empty </dd>
|
|
|
|
|
<dd>
|
|
|
|
|
false if the list is not empty </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> == <span class="keyword">nullptr</span>) {</div>
|
|
|
|
|
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> == <span class="keyword">nullptr</span>) {</div>
|
|
|
|
|
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> } <span class="keywordflow">else</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
|
|
|
@@ -311,10 +432,10 @@ false if list is not empty </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">isEmpty</a>()) {</div>
|
|
|
|
|
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>->succ() = std::make_shared<link>(new_elem);</div>
|
|
|
|
|
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> } <span class="keywordflow">else</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a>->succ() = std::make_shared<link>(new_elem);</div>
|
|
|
|
|
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a>->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a>->succ() = std::make_shared<link>(new_elem);</div>
|
|
|
|
|
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a>->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span>}</div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
@@ -350,7 +471,7 @@ Here is the call graph for this function:</div>
|
|
|
|
|
<div class="fragment"><div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">isEmpty</a>()) {</div>
|
|
|
|
|
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>->succ() = std::make_shared<link>(new_elem);</div>
|
|
|
|
|
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> } <span class="keywordflow">else</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<link></a> t = std::make_shared<link>(new_elem);</div>
|
|
|
|
|
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> t->succ() = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>->succ();</div>
|
|
|
|
|
@@ -364,6 +485,38 @@ Here is the call graph for this function:</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="a8b20ca89a0346c8d4193936481528c70" name="a8b20ca89a0346c8d4193936481528c70"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8b20ca89a0346c8d4193936481528c70">◆ </a></span>reverseList()</h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname">void list::reverseList </td>
|
|
|
|
|
<td>(</td>
|
|
|
|
|
<td class="paramname"></td><td>)</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
|
|
|
|
|
<p>Utility function for reversing a list. </p>
|
|
|
|
|
<p >Using the current, previous, and next pointer. </p><dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *curr = head;</div>
|
|
|
|
|
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/prev.html">prev</a> = <span class="keyword">nullptr</span>, *next_node = <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">while</span> (curr != <span class="keyword">nullptr</span>) {</div>
|
|
|
|
|
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> next_node = curr->next;</div>
|
|
|
|
|
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> curr->next = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/prev.html">prev</a>;</div>
|
|
|
|
|
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/prev.html">prev</a> = curr;</div>
|
|
|
|
|
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> curr = next_node;</div>
|
|
|
|
|
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> head = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/prev.html">prev</a>;</div>
|
|
|
|
|
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span>}</div>
|
|
|
|
|
<div class="ttc" id="aprev_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/prev.html">std::prev</a></div><div class="ttdeci">T prev(T... args)</div></div>
|
|
|
|
|
</div><!-- fragment -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="a098be172c737f236763afdb8cada4835" name="a098be172c737f236763afdb8cada4835"></a>
|
|
|
|
|
@@ -394,10 +547,10 @@ Here is the call graph for this function:</div>
|
|
|
|
|
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<link></a> t = <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1">first</a>;</div>
|
|
|
|
|
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">while</span> (t != <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a> && t->succ()->val() != find_elem) {</div>
|
|
|
|
|
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">while</span> (t != <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a> && t->succ()->val() != find_elem) {</div>
|
|
|
|
|
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> t = t->succ();</div>
|
|
|
|
|
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> (t == <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">last</a>) {</div>
|
|
|
|
|
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> (t == <a class="code hl_variable" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ab87eecc80068fc5a80e98e83536885f2">last</a>) {</div>
|
|
|
|
|
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Element not found\n"</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> }</div>
|
|
|
|
|
@@ -413,8 +566,109 @@ Here is the call graph for this function:</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
|
|
|
<a id="ab2d20da40d800897c31a649799d5e43d" name="ab2d20da40d800897c31a649799d5e43d"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab2d20da40d800897c31a649799d5e43d">◆ </a></span>top()</h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname">int32_t list::top </td>
|
|
|
|
|
<td>(</td>
|
|
|
|
|
<td class="paramname"></td><td>)</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
|
|
|
|
|
<p>Utility function to find the top element of the list. </p>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd>the top element of the list </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">try</span> {</div>
|
|
|
|
|
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8424a4fce3d483f7c85d6f6a5c79a1a">isEmpty</a>()) {</div>
|
|
|
|
|
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> head->val;</div>
|
|
|
|
|
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> &e) {</div>
|
|
|
|
|
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> << <span class="stringliteral">"List is empty"</span> << e.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>() << <span class="charliteral">'\n'</span>;</div>
|
|
|
|
|
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span>}</div>
|
|
|
|
|
<div class="ttc" id="aexception_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a></div></div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d1/def/classdata__structures_1_1linked__list_1_1list_ab2d20da40d800897c31a649799d5e43d_cgraph.svg" width="371" height="104"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="af42071da0067130389cb12fc526ea4fe" name="af42071da0067130389cb12fc526ea4fe"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af42071da0067130389cb12fc526ea4fe">◆ </a></span>traverse()</h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname">int32_t list::traverse </td>
|
|
|
|
|
<td>(</td>
|
|
|
|
|
<td class="paramtype">int32_t </td>
|
|
|
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
|
|
|
|
|
<p>Utility function to find the i th element of the list. </p>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd>the i th element of the list </dd></dl>
|
|
|
|
|
<div class="fragment"><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> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *current = head;</div>
|
|
|
|
|
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
|
|
|
|
|
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> count = 0;</div>
|
|
|
|
|
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">while</span> (current != <span class="keyword">nullptr</span>) {</div>
|
|
|
|
|
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (count == index) {</div>
|
|
|
|
|
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">return</span> (current->val);</div>
|
|
|
|
|
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> count++;</div>
|
|
|
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> current = current->next;</div>
|
|
|
|
|
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> }</div>
|
|
|
|
|
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
|
|
|
|
|
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/* if we get to this line,the caller was asking for a non-existent element</span></div>
|
|
|
|
|
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="comment"> so we assert fail */</span></div>
|
|
|
|
|
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> assert(0);</div>
|
|
|
|
|
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span>}</div>
|
|
|
|
|
</div><!-- fragment -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
|
|
|
<a id="ab87eecc80068fc5a80e98e83536885f2" name="ab87eecc80068fc5a80e98e83536885f2"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab87eecc80068fc5a80e98e83536885f2">◆ </a></span>last</h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="mlabels">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="mlabels-left">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname">int32_t list::last</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="mlabels-right">
|
|
|
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
|
|
|
|
|
<p>last link on the list </p>
|
|
|
|
|
<p >Utility function to find the last element of the list.</p>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd>the last element of the list </dd></dl>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
|
|
|
<li>data_structures/<a class="el" href="../../da/dc3/linked__list_8cpp.html">linked_list.cpp</a></li>
|
|
|
|
|
<li>data_structures/<a class="el" href="../../d6/d05/reverse__a__linked__list_8cpp.html">reverse_a_linked_list.cpp</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div><!-- contents -->
|
|
|
|
|
</div><!-- doc-content -->
|
|
|
|
|
|