This commit is contained in:
krahets
2026-07-19 03:42:14 +08:00
parent 01337590a2
commit dbb2fc1d75
656 changed files with 590096 additions and 1010 deletions
+432 -12
View File
@@ -717,6 +717,8 @@
@@ -911,6 +913,34 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/exercises/" class="md-nav__link">
<span class="md-ellipsis">
2.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -938,6 +968,8 @@
@@ -1132,6 +1164,34 @@
<li class="md-nav__item">
<a href="../../chapter_data_structure/exercises/" class="md-nav__link">
<span class="md-ellipsis">
3.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1159,6 +1219,8 @@
@@ -1361,6 +1423,34 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/exercises/" class="md-nav__link">
<span class="md-ellipsis">
4.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1388,6 +1478,8 @@
@@ -1663,6 +1755,34 @@
<li class="md-nav__item">
<a href="../exercises/" class="md-nav__link">
<span class="md-ellipsis">
5.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1688,6 +1808,8 @@
@@ -1854,6 +1976,34 @@
<li class="md-nav__item">
<a href="../../chapter_hashing/exercises/" class="md-nav__link">
<span class="md-ellipsis">
6.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1883,6 +2033,8 @@
@@ -2105,6 +2257,34 @@
<li class="md-nav__item">
<a href="../../chapter_tree/exercises/" class="md-nav__link">
<span class="md-ellipsis">
7.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2130,6 +2310,8 @@
@@ -2296,6 +2478,34 @@
<li class="md-nav__item">
<a href="../../chapter_heap/exercises/" class="md-nav__link">
<span class="md-ellipsis">
8.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2321,6 +2531,8 @@
@@ -2487,6 +2699,34 @@
<li class="md-nav__item">
<a href="../../chapter_graph/exercises/" class="md-nav__link">
<span class="md-ellipsis">
9.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2516,6 +2756,8 @@
@@ -2738,6 +2980,34 @@
<li class="md-nav__item">
<a href="../../chapter_searching/exercises/" class="md-nav__link">
<span class="md-ellipsis">
10.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2777,6 +3047,8 @@
@@ -3139,6 +3411,34 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/exercises/" class="md-nav__link">
<span class="md-ellipsis">
11.12 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3166,6 +3466,8 @@
@@ -3360,6 +3662,34 @@
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/exercises/" class="md-nav__link">
<span class="md-ellipsis">
12.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3387,6 +3717,8 @@
@@ -3581,6 +3913,34 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/exercises/" class="md-nav__link">
<span class="md-ellipsis">
13.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3612,6 +3972,8 @@
@@ -3862,6 +4224,34 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/exercises/" class="md-nav__link">
<span class="md-ellipsis">
14.8 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3889,6 +4279,8 @@
@@ -4083,6 +4475,34 @@
<li class="md-nav__item">
<a href="../../chapter_greedy/exercises/" class="md-nav__link">
<span class="md-ellipsis">
15.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -4986,7 +5406,7 @@
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">val</span><span class="p">;</span><span class="w"> </span><span class="c1">// 節點值</span>
<a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="w"> </span><span class="o">*</span><span class="n">next</span><span class="p">;</span><span class="w"> </span><span class="c1">// 後繼節點指標</span>
<a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="w"> </span><span class="o">*</span><span class="n">prev</span><span class="p">;</span><span class="w"> </span><span class="c1">// 前驅節點指標</span>
<a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">val</span><span class="p">)</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">val</span><span class="p">(</span><span class="n">val</span><span class="p">),</span><span class="w"> </span><span class="n">prev</span><span class="p">(</span><span class="k">nullptr</span><span class="p">),</span><span class="w"> </span><span class="n">next</span><span class="p">(</span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">val</span><span class="p">)</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">val</span><span class="p">(</span><span class="n">val</span><span class="p">),</span><span class="w"> </span><span class="n">prev</span><span class="p">(</span><span class="nb">nullptr</span><span class="p">),</span><span class="w"> </span><span class="n">next</span><span class="p">(</span><span class="nb">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a><span class="p">};</span>
<a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a>
@@ -4998,17 +5418,17 @@
<a id="__codelineno-14-15" name="__codelineno-14-15" href="#__codelineno-14-15"></a>
<a id="__codelineno-14-16" name="__codelineno-14-16" href="#__codelineno-14-16"></a><span class="w"> </span><span class="k">public</span><span class="o">:</span>
<a id="__codelineno-14-17" name="__codelineno-14-17" href="#__codelineno-14-17"></a><span class="w"> </span><span class="cm">/* 建構子 */</span>
<a id="__codelineno-14-18" name="__codelineno-14-18" href="#__codelineno-14-18"></a><span class="w"> </span><span class="n">LinkedListDeque</span><span class="p">()</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">front</span><span class="p">(</span><span class="k">nullptr</span><span class="p">),</span><span class="w"> </span><span class="n">rear</span><span class="p">(</span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-18" name="__codelineno-14-18" href="#__codelineno-14-18"></a><span class="w"> </span><span class="n">LinkedListDeque</span><span class="p">()</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">front</span><span class="p">(</span><span class="nb">nullptr</span><span class="p">),</span><span class="w"> </span><span class="n">rear</span><span class="p">(</span><span class="nb">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-19" name="__codelineno-14-19" href="#__codelineno-14-19"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-20" name="__codelineno-14-20" href="#__codelineno-14-20"></a>
<a id="__codelineno-14-21" name="__codelineno-14-21" href="#__codelineno-14-21"></a><span class="w"> </span><span class="cm">/* 析構方法 */</span>
<a id="__codelineno-14-22" name="__codelineno-14-22" href="#__codelineno-14-22"></a><span class="w"> </span><span class="o">~</span><span class="n">LinkedListDeque</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-23" name="__codelineno-14-23" href="#__codelineno-14-23"></a><span class="w"> </span><span class="c1">// 走訪鏈結串列刪除節點,釋放記憶體</span>
<a id="__codelineno-14-24" name="__codelineno-14-24" href="#__codelineno-14-24"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="w"> </span><span class="o">*</span><span class="n">pre</span><span class="p">,</span><span class="w"> </span><span class="o">*</span><span class="n">cur</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">front</span><span class="p">;</span>
<a id="__codelineno-14-25" name="__codelineno-14-25" href="#__codelineno-14-25"></a><span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">cur</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-26" name="__codelineno-14-26" href="#__codelineno-14-26"></a><span class="w"> </span><span class="n">pre</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cur</span><span class="p">;</span>
<a id="__codelineno-14-24" name="__codelineno-14-24" href="#__codelineno-14-24"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="w"> </span><span class="o">*</span><span class="k">pre</span><span class="p">,</span><span class="w"> </span><span class="o">*</span><span class="n">cur</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">front</span><span class="p">;</span>
<a id="__codelineno-14-25" name="__codelineno-14-25" href="#__codelineno-14-25"></a><span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">cur</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-26" name="__codelineno-14-26" href="#__codelineno-14-26"></a><span class="w"> </span><span class="k">pre</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cur</span><span class="p">;</span>
<a id="__codelineno-14-27" name="__codelineno-14-27" href="#__codelineno-14-27"></a><span class="w"> </span><span class="n">cur</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cur</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">;</span>
<a id="__codelineno-14-28" name="__codelineno-14-28" href="#__codelineno-14-28"></a><span class="w"> </span><span class="k">delete</span><span class="w"> </span><span class="n">pre</span><span class="p">;</span>
<a id="__codelineno-14-28" name="__codelineno-14-28" href="#__codelineno-14-28"></a><span class="w"> </span><span class="k">delete</span><span class="w"> </span><span class="k">pre</span><span class="p">;</span>
<a id="__codelineno-14-29" name="__codelineno-14-29" href="#__codelineno-14-29"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-30" name="__codelineno-14-30" href="#__codelineno-14-30"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-31" name="__codelineno-14-31" href="#__codelineno-14-31"></a>
@@ -5064,9 +5484,9 @@
<a id="__codelineno-14-81" name="__codelineno-14-81" href="#__codelineno-14-81"></a><span class="w"> </span><span class="n">val</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">front</span><span class="o">-&gt;</span><span class="n">val</span><span class="p">;</span><span class="w"> </span><span class="c1">// 暫存頭節點值</span>
<a id="__codelineno-14-82" name="__codelineno-14-82" href="#__codelineno-14-82"></a><span class="w"> </span><span class="c1">// 刪除頭節點</span>
<a id="__codelineno-14-83" name="__codelineno-14-83" href="#__codelineno-14-83"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="w"> </span><span class="o">*</span><span class="n">fNext</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">front</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">;</span>
<a id="__codelineno-14-84" name="__codelineno-14-84" href="#__codelineno-14-84"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">fNext</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-85" name="__codelineno-14-85" href="#__codelineno-14-85"></a><span class="w"> </span><span class="n">fNext</span><span class="o">-&gt;</span><span class="n">prev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-86" name="__codelineno-14-86" href="#__codelineno-14-86"></a><span class="w"> </span><span class="n">front</span><span class="o">-&gt;</span><span class="n">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-84" name="__codelineno-14-84" href="#__codelineno-14-84"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">fNext</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-85" name="__codelineno-14-85" href="#__codelineno-14-85"></a><span class="w"> </span><span class="n">fNext</span><span class="o">-&gt;</span><span class="n">prev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-86" name="__codelineno-14-86" href="#__codelineno-14-86"></a><span class="w"> </span><span class="n">front</span><span class="o">-&gt;</span><span class="n">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-87" name="__codelineno-14-87" href="#__codelineno-14-87"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-88" name="__codelineno-14-88" href="#__codelineno-14-88"></a><span class="w"> </span><span class="k">delete</span><span class="w"> </span><span class="n">front</span><span class="p">;</span>
<a id="__codelineno-14-89" name="__codelineno-14-89" href="#__codelineno-14-89"></a><span class="w"> </span><span class="n">front</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">fNext</span><span class="p">;</span><span class="w"> </span><span class="c1">// 更新頭節點</span>
@@ -5075,9 +5495,9 @@
<a id="__codelineno-14-92" name="__codelineno-14-92" href="#__codelineno-14-92"></a><span class="w"> </span><span class="n">val</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rear</span><span class="o">-&gt;</span><span class="n">val</span><span class="p">;</span><span class="w"> </span><span class="c1">// 暫存尾節點值</span>
<a id="__codelineno-14-93" name="__codelineno-14-93" href="#__codelineno-14-93"></a><span class="w"> </span><span class="c1">// 刪除尾節點</span>
<a id="__codelineno-14-94" name="__codelineno-14-94" href="#__codelineno-14-94"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="w"> </span><span class="o">*</span><span class="n">rPrev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rear</span><span class="o">-&gt;</span><span class="n">prev</span><span class="p">;</span>
<a id="__codelineno-14-95" name="__codelineno-14-95" href="#__codelineno-14-95"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">rPrev</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-96" name="__codelineno-14-96" href="#__codelineno-14-96"></a><span class="w"> </span><span class="n">rPrev</span><span class="o">-&gt;</span><span class="n">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-97" name="__codelineno-14-97" href="#__codelineno-14-97"></a><span class="w"> </span><span class="n">rear</span><span class="o">-&gt;</span><span class="n">prev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-95" name="__codelineno-14-95" href="#__codelineno-14-95"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">rPrev</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-96" name="__codelineno-14-96" href="#__codelineno-14-96"></a><span class="w"> </span><span class="n">rPrev</span><span class="o">-&gt;</span><span class="n">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-97" name="__codelineno-14-97" href="#__codelineno-14-97"></a><span class="w"> </span><span class="n">rear</span><span class="o">-&gt;</span><span class="n">prev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-98" name="__codelineno-14-98" href="#__codelineno-14-98"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-99" name="__codelineno-14-99" href="#__codelineno-14-99"></a><span class="w"> </span><span class="k">delete</span><span class="w"> </span><span class="n">rear</span><span class="p">;</span>
<a id="__codelineno-14-100" name="__codelineno-14-100" href="#__codelineno-14-100"></a><span class="w"> </span><span class="n">rear</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rPrev</span><span class="p">;</span><span class="w"> </span><span class="c1">// 更新尾節點</span>
File diff suppressed because it is too large Load Diff
+425 -4
View File
@@ -15,7 +15,7 @@
<link rel="canonical" href="https://www.hello-algo.com/zh-hant/chapter_stack_and_queue/">
<link rel="prev" href="../chapter_array_and_linkedlist/summary/">
<link rel="prev" href="../chapter_array_and_linkedlist/exercises/">
<link rel="next" href="./stack/">
@@ -717,6 +717,8 @@
@@ -911,6 +913,34 @@
<li class="md-nav__item">
<a href="../chapter_computational_complexity/exercises/" class="md-nav__link">
<span class="md-ellipsis">
2.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -938,6 +968,8 @@
@@ -1132,6 +1164,34 @@
<li class="md-nav__item">
<a href="../chapter_data_structure/exercises/" class="md-nav__link">
<span class="md-ellipsis">
3.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1159,6 +1219,8 @@
@@ -1361,6 +1423,34 @@
<li class="md-nav__item">
<a href="../chapter_array_and_linkedlist/exercises/" class="md-nav__link">
<span class="md-ellipsis">
4.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1388,6 +1478,8 @@
@@ -1554,6 +1646,34 @@
<li class="md-nav__item">
<a href="./exercises/" class="md-nav__link">
<span class="md-ellipsis">
5.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1579,6 +1699,8 @@
@@ -1745,6 +1867,34 @@
<li class="md-nav__item">
<a href="../chapter_hashing/exercises/" class="md-nav__link">
<span class="md-ellipsis">
6.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1774,6 +1924,8 @@
@@ -1996,6 +2148,34 @@
<li class="md-nav__item">
<a href="../chapter_tree/exercises/" class="md-nav__link">
<span class="md-ellipsis">
7.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2021,6 +2201,8 @@
@@ -2187,6 +2369,34 @@
<li class="md-nav__item">
<a href="../chapter_heap/exercises/" class="md-nav__link">
<span class="md-ellipsis">
8.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2212,6 +2422,8 @@
@@ -2378,6 +2590,34 @@
<li class="md-nav__item">
<a href="../chapter_graph/exercises/" class="md-nav__link">
<span class="md-ellipsis">
9.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2407,6 +2647,8 @@
@@ -2629,6 +2871,34 @@
<li class="md-nav__item">
<a href="../chapter_searching/exercises/" class="md-nav__link">
<span class="md-ellipsis">
10.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2668,6 +2938,8 @@
@@ -3030,6 +3302,34 @@
<li class="md-nav__item">
<a href="../chapter_sorting/exercises/" class="md-nav__link">
<span class="md-ellipsis">
11.12 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3057,6 +3357,8 @@
@@ -3251,6 +3553,34 @@
<li class="md-nav__item">
<a href="../chapter_divide_and_conquer/exercises/" class="md-nav__link">
<span class="md-ellipsis">
12.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3278,6 +3608,8 @@
@@ -3472,6 +3804,34 @@
<li class="md-nav__item">
<a href="../chapter_backtracking/exercises/" class="md-nav__link">
<span class="md-ellipsis">
13.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3503,6 +3863,8 @@
@@ -3753,6 +4115,34 @@
<li class="md-nav__item">
<a href="../chapter_dynamic_programming/exercises/" class="md-nav__link">
<span class="md-ellipsis">
14.8 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3780,6 +4170,8 @@
@@ -3974,6 +4366,34 @@
<li class="md-nav__item">
<a href="../chapter_greedy/exercises/" class="md-nav__link">
<span class="md-ellipsis">
15.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -4296,6 +4716,7 @@
<li><a href="queue/">5.2 &nbsp; 佇列</a></li>
<li><a href="deque/">5.3 &nbsp; 雙向佇列</a></li>
<li><a href="summary/">5.4 &nbsp; 小結</a></li>
<li><a href="exercises/">5.5 &nbsp; 練習</a></li>
</ul>
<!-- Source file information -->
@@ -4317,9 +4738,9 @@ aria-label="頁脚"
<a
href="../chapter_array_and_linkedlist/summary/"
href="../chapter_array_and_linkedlist/exercises/"
class="md-footer__link md-footer__link--prev"
aria-label="上一頁: 4.5 &amp;nbsp; 小結"
aria-label="上一頁: 4.6 &amp;nbsp; 練習"
rel="prev"
>
<div class="md-footer__button md-icon">
@@ -4331,7 +4752,7 @@ aria-label="頁脚"
上一頁
</span>
<div class="md-ellipsis">
4.5 &nbsp; 小結
4.6 &nbsp; 練習
</div>
</div>
</a>
@@ -717,6 +717,8 @@
@@ -911,6 +913,34 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/exercises/" class="md-nav__link">
<span class="md-ellipsis">
2.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -938,6 +968,8 @@
@@ -1132,6 +1164,34 @@
<li class="md-nav__item">
<a href="../../chapter_data_structure/exercises/" class="md-nav__link">
<span class="md-ellipsis">
3.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1159,6 +1219,8 @@
@@ -1361,6 +1423,34 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/exercises/" class="md-nav__link">
<span class="md-ellipsis">
4.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1388,6 +1478,8 @@
@@ -1663,6 +1755,34 @@
<li class="md-nav__item">
<a href="../exercises/" class="md-nav__link">
<span class="md-ellipsis">
5.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1688,6 +1808,8 @@
@@ -1854,6 +1976,34 @@
<li class="md-nav__item">
<a href="../../chapter_hashing/exercises/" class="md-nav__link">
<span class="md-ellipsis">
6.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1883,6 +2033,8 @@
@@ -2105,6 +2257,34 @@
<li class="md-nav__item">
<a href="../../chapter_tree/exercises/" class="md-nav__link">
<span class="md-ellipsis">
7.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2130,6 +2310,8 @@
@@ -2296,6 +2478,34 @@
<li class="md-nav__item">
<a href="../../chapter_heap/exercises/" class="md-nav__link">
<span class="md-ellipsis">
8.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2321,6 +2531,8 @@
@@ -2487,6 +2699,34 @@
<li class="md-nav__item">
<a href="../../chapter_graph/exercises/" class="md-nav__link">
<span class="md-ellipsis">
9.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2516,6 +2756,8 @@
@@ -2738,6 +2980,34 @@
<li class="md-nav__item">
<a href="../../chapter_searching/exercises/" class="md-nav__link">
<span class="md-ellipsis">
10.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2777,6 +3047,8 @@
@@ -3139,6 +3411,34 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/exercises/" class="md-nav__link">
<span class="md-ellipsis">
11.12 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3166,6 +3466,8 @@
@@ -3360,6 +3662,34 @@
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/exercises/" class="md-nav__link">
<span class="md-ellipsis">
12.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3387,6 +3717,8 @@
@@ -3581,6 +3913,34 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/exercises/" class="md-nav__link">
<span class="md-ellipsis">
13.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3612,6 +3972,8 @@
@@ -3862,6 +4224,34 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/exercises/" class="md-nav__link">
<span class="md-ellipsis">
14.8 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3889,6 +4279,8 @@
@@ -4083,6 +4475,34 @@
<li class="md-nav__item">
<a href="../../chapter_greedy/exercises/" class="md-nav__link">
<span class="md-ellipsis">
15.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -4887,8 +5307,8 @@
<a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a>
<a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a><span class="w"> </span><span class="k">public</span><span class="o">:</span>
<a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a><span class="w"> </span><span class="n">LinkedListQueue</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a><span class="w"> </span><span class="n">front</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a><span class="w"> </span><span class="n">rear</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a><span class="w"> </span><span class="n">front</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a><span class="w"> </span><span class="n">rear</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a><span class="w"> </span><span class="n">queSize</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-13" name="__codelineno-14-13" href="#__codelineno-14-13"></a>
@@ -4912,7 +5332,7 @@
<a id="__codelineno-14-31" name="__codelineno-14-31" href="#__codelineno-14-31"></a><span class="w"> </span><span class="c1">// 在尾節點後新增 num</span>
<a id="__codelineno-14-32" name="__codelineno-14-32" href="#__codelineno-14-32"></a><span class="w"> </span><span class="n">ListNode</span><span class="w"> </span><span class="o">*</span><span class="n">node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ListNode</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>
<a id="__codelineno-14-33" name="__codelineno-14-33" href="#__codelineno-14-33"></a><span class="w"> </span><span class="c1">// 如果佇列為空,則令頭、尾節點都指向該節點</span>
<a id="__codelineno-14-34" name="__codelineno-14-34" href="#__codelineno-14-34"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">front</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-34" name="__codelineno-14-34" href="#__codelineno-14-34"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">front</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-35" name="__codelineno-14-35" href="#__codelineno-14-35"></a><span class="w"> </span><span class="n">front</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">node</span><span class="p">;</span>
<a id="__codelineno-14-36" name="__codelineno-14-36" href="#__codelineno-14-36"></a><span class="w"> </span><span class="n">rear</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">node</span><span class="p">;</span>
<a id="__codelineno-14-37" name="__codelineno-14-37" href="#__codelineno-14-37"></a><span class="w"> </span><span class="p">}</span>
@@ -717,6 +717,8 @@
@@ -911,6 +913,34 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/exercises/" class="md-nav__link">
<span class="md-ellipsis">
2.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -938,6 +968,8 @@
@@ -1132,6 +1164,34 @@
<li class="md-nav__item">
<a href="../../chapter_data_structure/exercises/" class="md-nav__link">
<span class="md-ellipsis">
3.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1159,6 +1219,8 @@
@@ -1361,6 +1423,34 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/exercises/" class="md-nav__link">
<span class="md-ellipsis">
4.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1388,6 +1478,8 @@
@@ -1674,6 +1766,34 @@
<li class="md-nav__item">
<a href="../exercises/" class="md-nav__link">
<span class="md-ellipsis">
5.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1699,6 +1819,8 @@
@@ -1865,6 +1987,34 @@
<li class="md-nav__item">
<a href="../../chapter_hashing/exercises/" class="md-nav__link">
<span class="md-ellipsis">
6.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1894,6 +2044,8 @@
@@ -2116,6 +2268,34 @@
<li class="md-nav__item">
<a href="../../chapter_tree/exercises/" class="md-nav__link">
<span class="md-ellipsis">
7.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2141,6 +2321,8 @@
@@ -2307,6 +2489,34 @@
<li class="md-nav__item">
<a href="../../chapter_heap/exercises/" class="md-nav__link">
<span class="md-ellipsis">
8.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2332,6 +2542,8 @@
@@ -2498,6 +2710,34 @@
<li class="md-nav__item">
<a href="../../chapter_graph/exercises/" class="md-nav__link">
<span class="md-ellipsis">
9.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2527,6 +2767,8 @@
@@ -2749,6 +2991,34 @@
<li class="md-nav__item">
<a href="../../chapter_searching/exercises/" class="md-nav__link">
<span class="md-ellipsis">
10.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2788,6 +3058,8 @@
@@ -3150,6 +3422,34 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/exercises/" class="md-nav__link">
<span class="md-ellipsis">
11.12 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3177,6 +3477,8 @@
@@ -3371,6 +3673,34 @@
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/exercises/" class="md-nav__link">
<span class="md-ellipsis">
12.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3398,6 +3728,8 @@
@@ -3592,6 +3924,34 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/exercises/" class="md-nav__link">
<span class="md-ellipsis">
13.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3623,6 +3983,8 @@
@@ -3873,6 +4235,34 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/exercises/" class="md-nav__link">
<span class="md-ellipsis">
14.8 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3900,6 +4290,8 @@
@@ -4094,6 +4486,34 @@
<li class="md-nav__item">
<a href="../../chapter_greedy/exercises/" class="md-nav__link">
<span class="md-ellipsis">
15.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -4895,7 +5315,7 @@
<a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a>
<a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a><span class="w"> </span><span class="k">public</span><span class="o">:</span>
<a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a><span class="w"> </span><span class="n">LinkedListStack</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a><span class="w"> </span><span class="n">stackTop</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a><span class="w"> </span><span class="n">stackTop</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">nullptr</span><span class="p">;</span>
<a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a><span class="w"> </span><span class="n">stkSize</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a>
@@ -18,7 +18,7 @@
<link rel="prev" href="../deque/">
<link rel="next" href="../../chapter_hashing/">
<link rel="next" href="../exercises/">
@@ -717,6 +717,8 @@
@@ -911,6 +913,34 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/exercises/" class="md-nav__link">
<span class="md-ellipsis">
2.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -938,6 +968,8 @@
@@ -1132,6 +1164,34 @@
<li class="md-nav__item">
<a href="../../chapter_data_structure/exercises/" class="md-nav__link">
<span class="md-ellipsis">
3.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1159,6 +1219,8 @@
@@ -1361,6 +1423,34 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/exercises/" class="md-nav__link">
<span class="md-ellipsis">
4.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1388,6 +1478,8 @@
@@ -1624,6 +1716,34 @@
<li class="md-nav__item">
<a href="../exercises/" class="md-nav__link">
<span class="md-ellipsis">
5.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1649,6 +1769,8 @@
@@ -1815,6 +1937,34 @@
<li class="md-nav__item">
<a href="../../chapter_hashing/exercises/" class="md-nav__link">
<span class="md-ellipsis">
6.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -1844,6 +1994,8 @@
@@ -2066,6 +2218,34 @@
<li class="md-nav__item">
<a href="../../chapter_tree/exercises/" class="md-nav__link">
<span class="md-ellipsis">
7.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2091,6 +2271,8 @@
@@ -2257,6 +2439,34 @@
<li class="md-nav__item">
<a href="../../chapter_heap/exercises/" class="md-nav__link">
<span class="md-ellipsis">
8.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2282,6 +2492,8 @@
@@ -2448,6 +2660,34 @@
<li class="md-nav__item">
<a href="../../chapter_graph/exercises/" class="md-nav__link">
<span class="md-ellipsis">
9.5 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2477,6 +2717,8 @@
@@ -2699,6 +2941,34 @@
<li class="md-nav__item">
<a href="../../chapter_searching/exercises/" class="md-nav__link">
<span class="md-ellipsis">
10.7 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -2738,6 +3008,8 @@
@@ -3100,6 +3372,34 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/exercises/" class="md-nav__link">
<span class="md-ellipsis">
11.12 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3127,6 +3427,8 @@
@@ -3321,6 +3623,34 @@
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/exercises/" class="md-nav__link">
<span class="md-ellipsis">
12.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3348,6 +3678,8 @@
@@ -3542,6 +3874,34 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/exercises/" class="md-nav__link">
<span class="md-ellipsis">
13.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3573,6 +3933,8 @@
@@ -3823,6 +4185,34 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/exercises/" class="md-nav__link">
<span class="md-ellipsis">
14.8 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -3850,6 +4240,8 @@
@@ -4044,6 +4436,34 @@
<li class="md-nav__item">
<a href="../../chapter_greedy/exercises/" class="md-nav__link">
<span class="md-ellipsis">
15.6 &nbsp; 練習
</span>
</a>
</li>
</ul>
</nav>
@@ -4431,9 +4851,9 @@ aria-label="頁脚"
<a
href="../../chapter_hashing/"
href="../exercises/"
class="md-footer__link md-footer__link--next"
aria-label="下一頁: 第 6 章 &amp;nbsp; 雜湊表"
aria-label="下一頁: 5.5 &amp;nbsp; 練習"
rel="next"
>
<div class="md-footer__title">
@@ -4441,7 +4861,7 @@ aria-label="頁脚"
下一頁
</span>
<div class="md-ellipsis">
第 6 章 &nbsp; 雜湊表
5.5 &nbsp; 練習
</div>
</div>
<div class="md-footer__button md-icon">