mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-25 20:46:08 +00:00
deploy
This commit is contained in:
@@ -4544,7 +4544,116 @@
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<div class="tabbed-block">
|
||||
<div class="highlight"><span class="filename">my_list.cpp</span><pre><span></span><code><a id="__codelineno-79-1" name="__codelineno-79-1" href="#__codelineno-79-1"></a><span class="p">[</span><span class="k">class</span><span class="p">]{</span><span class="n">MyList</span><span class="p">}</span><span class="o">-</span><span class="p">[</span><span class="n">func</span><span class="p">]{}</span>
|
||||
<div class="highlight"><span class="filename">my_list.cpp</span><pre><span></span><code><a id="__codelineno-79-1" name="__codelineno-79-1" href="#__codelineno-79-1"></a><span class="cm">/* List class */</span>
|
||||
<a id="__codelineno-79-2" name="__codelineno-79-2" href="#__codelineno-79-2"></a><span class="k">class</span><span class="w"> </span><span class="nc">MyList</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-3" name="__codelineno-79-3" href="#__codelineno-79-3"></a><span class="w"> </span><span class="k">private</span><span class="o">:</span>
|
||||
<a id="__codelineno-79-4" name="__codelineno-79-4" href="#__codelineno-79-4"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="o">*</span><span class="n">arr</span><span class="p">;</span><span class="w"> </span><span class="c1">// Array (stores list elements)</span>
|
||||
<a id="__codelineno-79-5" name="__codelineno-79-5" href="#__codelineno-79-5"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">arrCapacity</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span><span class="w"> </span><span class="c1">// List capacity</span>
|
||||
<a id="__codelineno-79-6" name="__codelineno-79-6" href="#__codelineno-79-6"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">arrSize</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="c1">// List length (current number of elements)</span>
|
||||
<a id="__codelineno-79-7" name="__codelineno-79-7" href="#__codelineno-79-7"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">extendRatio</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span><span class="w"> </span><span class="c1">// Multiple for each list expansion</span>
|
||||
<a id="__codelineno-79-8" name="__codelineno-79-8" href="#__codelineno-79-8"></a>
|
||||
<a id="__codelineno-79-9" name="__codelineno-79-9" href="#__codelineno-79-9"></a><span class="w"> </span><span class="k">public</span><span class="o">:</span>
|
||||
<a id="__codelineno-79-10" name="__codelineno-79-10" href="#__codelineno-79-10"></a><span class="w"> </span><span class="cm">/* Constructor */</span>
|
||||
<a id="__codelineno-79-11" name="__codelineno-79-11" href="#__codelineno-79-11"></a><span class="w"> </span><span class="n">MyList</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-12" name="__codelineno-79-12" href="#__codelineno-79-12"></a><span class="w"> </span><span class="n">arr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">int</span><span class="p">[</span><span class="n">arrCapacity</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-13" name="__codelineno-79-13" href="#__codelineno-79-13"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-14" name="__codelineno-79-14" href="#__codelineno-79-14"></a>
|
||||
<a id="__codelineno-79-15" name="__codelineno-79-15" href="#__codelineno-79-15"></a><span class="w"> </span><span class="cm">/* Destructor */</span>
|
||||
<a id="__codelineno-79-16" name="__codelineno-79-16" href="#__codelineno-79-16"></a><span class="w"> </span><span class="o">~</span><span class="n">MyList</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-17" name="__codelineno-79-17" href="#__codelineno-79-17"></a><span class="w"> </span><span class="k">delete</span><span class="p">[]</span><span class="w"> </span><span class="n">arr</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-18" name="__codelineno-79-18" href="#__codelineno-79-18"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-19" name="__codelineno-79-19" href="#__codelineno-79-19"></a>
|
||||
<a id="__codelineno-79-20" name="__codelineno-79-20" href="#__codelineno-79-20"></a><span class="w"> </span><span class="cm">/* Get list length (current number of elements)*/</span>
|
||||
<a id="__codelineno-79-21" name="__codelineno-79-21" href="#__codelineno-79-21"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-22" name="__codelineno-79-22" href="#__codelineno-79-22"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrSize</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-23" name="__codelineno-79-23" href="#__codelineno-79-23"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-24" name="__codelineno-79-24" href="#__codelineno-79-24"></a>
|
||||
<a id="__codelineno-79-25" name="__codelineno-79-25" href="#__codelineno-79-25"></a><span class="w"> </span><span class="cm">/* Get list capacity */</span>
|
||||
<a id="__codelineno-79-26" name="__codelineno-79-26" href="#__codelineno-79-26"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">capacity</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-27" name="__codelineno-79-27" href="#__codelineno-79-27"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrCapacity</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-28" name="__codelineno-79-28" href="#__codelineno-79-28"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-29" name="__codelineno-79-29" href="#__codelineno-79-29"></a>
|
||||
<a id="__codelineno-79-30" name="__codelineno-79-30" href="#__codelineno-79-30"></a><span class="w"> </span><span class="cm">/* Access element */</span>
|
||||
<a id="__codelineno-79-31" name="__codelineno-79-31" href="#__codelineno-79-31"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">get</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">index</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-32" name="__codelineno-79-32" href="#__codelineno-79-32"></a><span class="w"> </span><span class="c1">// If the index is out of bounds, throw an exception, as below</span>
|
||||
<a id="__codelineno-79-33" name="__codelineno-79-33" href="#__codelineno-79-33"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">index</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="n">size</span><span class="p">())</span>
|
||||
<a id="__codelineno-79-34" name="__codelineno-79-34" href="#__codelineno-79-34"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">out_of_range</span><span class="p">(</span><span class="s">"Index out of bounds"</span><span class="p">);</span>
|
||||
<a id="__codelineno-79-35" name="__codelineno-79-35" href="#__codelineno-79-35"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">index</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-36" name="__codelineno-79-36" href="#__codelineno-79-36"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-37" name="__codelineno-79-37" href="#__codelineno-79-37"></a>
|
||||
<a id="__codelineno-79-38" name="__codelineno-79-38" href="#__codelineno-79-38"></a><span class="w"> </span><span class="cm">/* Update element */</span>
|
||||
<a id="__codelineno-79-39" name="__codelineno-79-39" href="#__codelineno-79-39"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">set</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">index</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-40" name="__codelineno-79-40" href="#__codelineno-79-40"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">index</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="n">size</span><span class="p">())</span>
|
||||
<a id="__codelineno-79-41" name="__codelineno-79-41" href="#__codelineno-79-41"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">out_of_range</span><span class="p">(</span><span class="s">"Index out of bounds"</span><span class="p">);</span>
|
||||
<a id="__codelineno-79-42" name="__codelineno-79-42" href="#__codelineno-79-42"></a><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">index</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">num</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-43" name="__codelineno-79-43" href="#__codelineno-79-43"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-44" name="__codelineno-79-44" href="#__codelineno-79-44"></a>
|
||||
<a id="__codelineno-79-45" name="__codelineno-79-45" href="#__codelineno-79-45"></a><span class="w"> </span><span class="cm">/* Add element at the end */</span>
|
||||
<a id="__codelineno-79-46" name="__codelineno-79-46" href="#__codelineno-79-46"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">add</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-47" name="__codelineno-79-47" href="#__codelineno-79-47"></a><span class="w"> </span><span class="c1">// When the number of elements exceeds capacity, trigger the expansion mechanism</span>
|
||||
<a id="__codelineno-79-48" name="__codelineno-79-48" href="#__codelineno-79-48"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">capacity</span><span class="p">())</span>
|
||||
<a id="__codelineno-79-49" name="__codelineno-79-49" href="#__codelineno-79-49"></a><span class="w"> </span><span class="n">extendCapacity</span><span class="p">();</span>
|
||||
<a id="__codelineno-79-50" name="__codelineno-79-50" href="#__codelineno-79-50"></a><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">size</span><span class="p">()]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">num</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-51" name="__codelineno-79-51" href="#__codelineno-79-51"></a><span class="w"> </span><span class="c1">// Update the number of elements</span>
|
||||
<a id="__codelineno-79-52" name="__codelineno-79-52" href="#__codelineno-79-52"></a><span class="w"> </span><span class="n">arrSize</span><span class="o">++</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-53" name="__codelineno-79-53" href="#__codelineno-79-53"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-54" name="__codelineno-79-54" href="#__codelineno-79-54"></a>
|
||||
<a id="__codelineno-79-55" name="__codelineno-79-55" href="#__codelineno-79-55"></a><span class="w"> </span><span class="cm">/* Insert element in the middle */</span>
|
||||
<a id="__codelineno-79-56" name="__codelineno-79-56" href="#__codelineno-79-56"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">insert</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">index</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-57" name="__codelineno-79-57" href="#__codelineno-79-57"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">index</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="n">size</span><span class="p">())</span>
|
||||
<a id="__codelineno-79-58" name="__codelineno-79-58" href="#__codelineno-79-58"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">out_of_range</span><span class="p">(</span><span class="s">"Index out of bounds"</span><span class="p">);</span>
|
||||
<a id="__codelineno-79-59" name="__codelineno-79-59" href="#__codelineno-79-59"></a><span class="w"> </span><span class="c1">// When the number of elements exceeds capacity, trigger the expansion mechanism</span>
|
||||
<a id="__codelineno-79-60" name="__codelineno-79-60" href="#__codelineno-79-60"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">capacity</span><span class="p">())</span>
|
||||
<a id="__codelineno-79-61" name="__codelineno-79-61" href="#__codelineno-79-61"></a><span class="w"> </span><span class="n">extendCapacity</span><span class="p">();</span>
|
||||
<a id="__codelineno-79-62" name="__codelineno-79-62" href="#__codelineno-79-62"></a><span class="w"> </span><span class="c1">// Move all elements after `index` one position backward</span>
|
||||
<a id="__codelineno-79-63" name="__codelineno-79-63" href="#__codelineno-79-63"></a><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="n">index</span><span class="p">;</span><span class="w"> </span><span class="n">j</span><span class="o">--</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-64" name="__codelineno-79-64" href="#__codelineno-79-64"></a><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">j</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">j</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-65" name="__codelineno-79-65" href="#__codelineno-79-65"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-66" name="__codelineno-79-66" href="#__codelineno-79-66"></a><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">index</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">num</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-67" name="__codelineno-79-67" href="#__codelineno-79-67"></a><span class="w"> </span><span class="c1">// Update the number of elements</span>
|
||||
<a id="__codelineno-79-68" name="__codelineno-79-68" href="#__codelineno-79-68"></a><span class="w"> </span><span class="n">arrSize</span><span class="o">++</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-69" name="__codelineno-79-69" href="#__codelineno-79-69"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-70" name="__codelineno-79-70" href="#__codelineno-79-70"></a>
|
||||
<a id="__codelineno-79-71" name="__codelineno-79-71" href="#__codelineno-79-71"></a><span class="w"> </span><span class="cm">/* Remove element */</span>
|
||||
<a id="__codelineno-79-72" name="__codelineno-79-72" href="#__codelineno-79-72"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">remove</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">index</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-73" name="__codelineno-79-73" href="#__codelineno-79-73"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">index</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="n">size</span><span class="p">())</span>
|
||||
<a id="__codelineno-79-74" name="__codelineno-79-74" href="#__codelineno-79-74"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">out_of_range</span><span class="p">(</span><span class="s">"Index out of bounds"</span><span class="p">);</span>
|
||||
<a id="__codelineno-79-75" name="__codelineno-79-75" href="#__codelineno-79-75"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">index</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-76" name="__codelineno-79-76" href="#__codelineno-79-76"></a><span class="w"> </span><span class="c1">// Move all elements after `index` one position forward</span>
|
||||
<a id="__codelineno-79-77" name="__codelineno-79-77" href="#__codelineno-79-77"></a><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">index</span><span class="p">;</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="n">j</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-78" name="__codelineno-79-78" href="#__codelineno-79-78"></a><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">j</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-79" name="__codelineno-79-79" href="#__codelineno-79-79"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-80" name="__codelineno-79-80" href="#__codelineno-79-80"></a><span class="w"> </span><span class="c1">// Update the number of elements</span>
|
||||
<a id="__codelineno-79-81" name="__codelineno-79-81" href="#__codelineno-79-81"></a><span class="w"> </span><span class="n">arrSize</span><span class="o">--</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-82" name="__codelineno-79-82" href="#__codelineno-79-82"></a><span class="w"> </span><span class="c1">// Return the removed element</span>
|
||||
<a id="__codelineno-79-83" name="__codelineno-79-83" href="#__codelineno-79-83"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">num</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-84" name="__codelineno-79-84" href="#__codelineno-79-84"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-85" name="__codelineno-79-85" href="#__codelineno-79-85"></a>
|
||||
<a id="__codelineno-79-86" name="__codelineno-79-86" href="#__codelineno-79-86"></a><span class="w"> </span><span class="cm">/* Extend list */</span>
|
||||
<a id="__codelineno-79-87" name="__codelineno-79-87" href="#__codelineno-79-87"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">extendCapacity</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-88" name="__codelineno-79-88" href="#__codelineno-79-88"></a><span class="w"> </span><span class="c1">// Create a new array with a length multiple of the original array by extendRatio</span>
|
||||
<a id="__codelineno-79-89" name="__codelineno-79-89" href="#__codelineno-79-89"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">newCapacity</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">capacity</span><span class="p">()</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">extendRatio</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-90" name="__codelineno-79-90" href="#__codelineno-79-90"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="o">*</span><span class="n">tmp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arr</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-91" name="__codelineno-79-91" href="#__codelineno-79-91"></a><span class="w"> </span><span class="n">arr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">int</span><span class="p">[</span><span class="n">newCapacity</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-92" name="__codelineno-79-92" href="#__codelineno-79-92"></a><span class="w"> </span><span class="c1">// Copy all elements from the original array to the new array</span>
|
||||
<a id="__codelineno-79-93" name="__codelineno-79-93" href="#__codelineno-79-93"></a><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">size</span><span class="p">();</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-94" name="__codelineno-79-94" href="#__codelineno-79-94"></a><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tmp</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-95" name="__codelineno-79-95" href="#__codelineno-79-95"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-96" name="__codelineno-79-96" href="#__codelineno-79-96"></a><span class="w"> </span><span class="c1">// Free memory</span>
|
||||
<a id="__codelineno-79-97" name="__codelineno-79-97" href="#__codelineno-79-97"></a><span class="w"> </span><span class="k">delete</span><span class="p">[]</span><span class="w"> </span><span class="n">tmp</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-98" name="__codelineno-79-98" href="#__codelineno-79-98"></a><span class="w"> </span><span class="n">arrCapacity</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">newCapacity</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-99" name="__codelineno-79-99" href="#__codelineno-79-99"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-100" name="__codelineno-79-100" href="#__codelineno-79-100"></a>
|
||||
<a id="__codelineno-79-101" name="__codelineno-79-101" href="#__codelineno-79-101"></a><span class="w"> </span><span class="cm">/* Convert the list to a Vector for printing */</span>
|
||||
<a id="__codelineno-79-102" name="__codelineno-79-102" href="#__codelineno-79-102"></a><span class="w"> </span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span><span class="w"> </span><span class="n">toVector</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-103" name="__codelineno-79-103" href="#__codelineno-79-103"></a><span class="w"> </span><span class="c1">// Only convert elements within valid length range</span>
|
||||
<a id="__codelineno-79-104" name="__codelineno-79-104" href="#__codelineno-79-104"></a><span class="w"> </span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span><span class="w"> </span><span class="n">vec</span><span class="p">(</span><span class="n">size</span><span class="p">());</span>
|
||||
<a id="__codelineno-79-105" name="__codelineno-79-105" href="#__codelineno-79-105"></a><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">size</span><span class="p">();</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<a id="__codelineno-79-106" name="__codelineno-79-106" href="#__codelineno-79-106"></a><span class="w"> </span><span class="n">vec</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
|
||||
<a id="__codelineno-79-107" name="__codelineno-79-107" href="#__codelineno-79-107"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-108" name="__codelineno-79-108" href="#__codelineno-79-108"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">vec</span><span class="p">;</span>
|
||||
<a id="__codelineno-79-109" name="__codelineno-79-109" href="#__codelineno-79-109"></a><span class="w"> </span><span class="p">}</span>
|
||||
<a id="__codelineno-79-110" name="__codelineno-79-110" href="#__codelineno-79-110"></a><span class="p">};</span>
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<div class="tabbed-block">
|
||||
|
||||
Reference in New Issue
Block a user