This commit is contained in:
krahets
2023-11-17 00:35:25 +08:00
parent 8e0382f714
commit 8b60940d5a
20 changed files with 510 additions and 459 deletions

View File

@@ -4805,8 +4805,8 @@
<a id="__codelineno-20-29" name="__codelineno-20-29" href="#__codelineno-20-29"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-30" name="__codelineno-20-30" href="#__codelineno-20-30"></a>
<a id="__codelineno-20-31" name="__codelineno-20-31" href="#__codelineno-20-31"></a><span class="w"> </span><span class="cm">/* 入队操作 */</span>
<a id="__codelineno-20-32" name="__codelineno-20-32" href="#__codelineno-20-32"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">,</span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="n">isFront</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-33" name="__codelineno-20-33" href="#__codelineno-20-33"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">ListNode</span><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ListNode</span><span class="p">(</span><span class="kt">num</span><span class="p">);</span>
<a id="__codelineno-20-32" name="__codelineno-20-32" href="#__codelineno-20-32"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</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="kt">bool</span><span class="w"> </span><span class="n">isFront</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-33" name="__codelineno-20-33" href="#__codelineno-20-33"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">ListNode</span><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</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-20-34" name="__codelineno-20-34" href="#__codelineno-20-34"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">isEmpty</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-35" name="__codelineno-20-35" href="#__codelineno-20-35"></a><span class="w"> </span><span class="c1">// 若链表为空,则令 _front 和 _rear 都指向 node</span>
<a id="__codelineno-20-36" name="__codelineno-20-36" href="#__codelineno-20-36"></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">_rear</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">node</span><span class="p">;</span>
@@ -4827,13 +4827,13 @@
<a id="__codelineno-20-51" name="__codelineno-20-51" href="#__codelineno-20-51"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-52" name="__codelineno-20-52" href="#__codelineno-20-52"></a>
<a id="__codelineno-20-53" name="__codelineno-20-53" href="#__codelineno-20-53"></a><span class="w"> </span><span class="cm">/* 队首入队 */</span>
<a id="__codelineno-20-54" name="__codelineno-20-54" href="#__codelineno-20-54"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushFirst</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-55" name="__codelineno-20-55" href="#__codelineno-20-55"></a><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="kt">num</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">);</span>
<a id="__codelineno-20-54" name="__codelineno-20-54" href="#__codelineno-20-54"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushFirst</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-20-55" name="__codelineno-20-55" href="#__codelineno-20-55"></a><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="n">_num</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">);</span>
<a id="__codelineno-20-56" name="__codelineno-20-56" href="#__codelineno-20-56"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-57" name="__codelineno-20-57" href="#__codelineno-20-57"></a>
<a id="__codelineno-20-58" name="__codelineno-20-58" href="#__codelineno-20-58"></a><span class="w"> </span><span class="cm">/* 队尾入队 */</span>
<a id="__codelineno-20-59" name="__codelineno-20-59" href="#__codelineno-20-59"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushLast</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-60" name="__codelineno-20-60" href="#__codelineno-20-60"></a><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="kt">num</span><span class="p">,</span><span class="w"> </span><span class="kc">false</span><span class="p">);</span>
<a id="__codelineno-20-59" name="__codelineno-20-59" href="#__codelineno-20-59"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushLast</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-20-60" name="__codelineno-20-60" href="#__codelineno-20-60"></a><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="n">_num</span><span class="p">,</span><span class="w"> </span><span class="kc">false</span><span class="p">);</span>
<a id="__codelineno-20-61" name="__codelineno-20-61" href="#__codelineno-20-61"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-62" name="__codelineno-20-62" href="#__codelineno-20-62"></a>
<a id="__codelineno-20-63" name="__codelineno-20-63" href="#__codelineno-20-63"></a><span class="w"> </span><span class="cm">/* 出队操作 */</span>
@@ -5215,7 +5215,7 @@
<a id="__codelineno-22-145" name="__codelineno-22-145" href="#__codelineno-22-145"></a>
<a id="__codelineno-22-146" name="__codelineno-22-146" href="#__codelineno-22-146"></a><span class="cm">/* 打印队列 */</span>
<a id="__codelineno-22-147" name="__codelineno-22-147" href="#__codelineno-22-147"></a><span class="kt">void</span><span class="w"> </span><span class="nf">printLinkedListDeque</span><span class="p">(</span><span class="n">LinkedListDeque</span><span class="w"> </span><span class="o">*</span><span class="n">deque</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-22-148" name="__codelineno-22-148" href="#__codelineno-22-148"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">];</span>
<a id="__codelineno-22-148" name="__codelineno-22-148" href="#__codelineno-22-148"></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="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">);</span>
<a id="__codelineno-22-149" name="__codelineno-22-149" href="#__codelineno-22-149"></a><span class="w"> </span><span class="c1">// 拷贝链表中的数据到数组</span>
<a id="__codelineno-22-150" name="__codelineno-22-150" href="#__codelineno-22-150"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>
<a id="__codelineno-22-151" name="__codelineno-22-151" href="#__codelineno-22-151"></a><span class="w"> </span><span class="n">DoublyListNode</span><span class="w"> </span><span class="o">*</span><span class="n">node</span><span class="p">;</span>
@@ -5224,7 +5224,8 @@
<a id="__codelineno-22-154" name="__codelineno-22-154" href="#__codelineno-22-154"></a><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">node</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">;</span>
<a id="__codelineno-22-155" name="__codelineno-22-155" href="#__codelineno-22-155"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-22-156" name="__codelineno-22-156" href="#__codelineno-22-156"></a><span class="w"> </span><span class="n">printArray</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span><span class="w"> </span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">);</span>
<a id="__codelineno-22-157" name="__codelineno-22-157" href="#__codelineno-22-157"></a><span class="p">}</span>
<a id="__codelineno-22-157" name="__codelineno-22-157" href="#__codelineno-22-157"></a><span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">arr</span><span class="p">);</span>
<a id="__codelineno-22-158" name="__codelineno-22-158" href="#__codelineno-22-158"></a><span class="p">}</span>
</code></pre></div>
</div>
<div class="tabbed-block">
@@ -6296,44 +6297,44 @@
<a id="__codelineno-32-34" name="__codelineno-32-34" href="#__codelineno-32-34"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-35" name="__codelineno-32-35" href="#__codelineno-32-35"></a>
<a id="__codelineno-32-36" name="__codelineno-32-36" href="#__codelineno-32-36"></a><span class="w"> </span><span class="cm">/* 队首入队 */</span>
<a id="__codelineno-32-37" name="__codelineno-32-37" href="#__codelineno-32-37"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushFirst</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-32-37" name="__codelineno-32-37" href="#__codelineno-32-37"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushFirst</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-32-38" name="__codelineno-32-38" href="#__codelineno-32-38"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">_queSize</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="p">{</span>
<a id="__codelineno-32-39" name="__codelineno-32-39" href="#__codelineno-32-39"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">Exception</span><span class="p">(</span><span class="s2">&quot;双向队列已满&quot;</span><span class="p">);</span>
<a id="__codelineno-32-40" name="__codelineno-32-40" href="#__codelineno-32-40"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-41" name="__codelineno-32-41" href="#__codelineno-32-41"></a><span class="w"> </span><span class="c1">// 队首指针向左移动一位</span>
<a id="__codelineno-32-42" name="__codelineno-32-42" href="#__codelineno-32-42"></a><span class="w"> </span><span class="c1">// 通过取余操作,实现 _front 越过数组头部后回到尾部</span>
<a id="__codelineno-32-43" name="__codelineno-32-43" href="#__codelineno-32-43"></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">index</span><span class="p">(</span><span class="n">_front</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="m">1</span><span class="p">);</span>
<a id="__codelineno-32-44" name="__codelineno-32-44" href="#__codelineno-32-44"></a><span class="w"> </span><span class="c1">// 将 num 添加至队首</span>
<a id="__codelineno-32-45" name="__codelineno-32-45" href="#__codelineno-32-45"></a><span class="w"> </span><span class="n">_nums</span><span class="p">[</span><span class="n">_front</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-32-44" name="__codelineno-32-44" href="#__codelineno-32-44"></a><span class="w"> </span><span class="c1">// 将 _num 添加至队首</span>
<a id="__codelineno-32-45" name="__codelineno-32-45" href="#__codelineno-32-45"></a><span class="w"> </span><span class="n">_nums</span><span class="p">[</span><span class="n">_front</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-32-46" name="__codelineno-32-46" href="#__codelineno-32-46"></a><span class="w"> </span><span class="n">_queSize</span><span class="o">++</span><span class="p">;</span>
<a id="__codelineno-32-47" name="__codelineno-32-47" href="#__codelineno-32-47"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-48" name="__codelineno-32-48" href="#__codelineno-32-48"></a>
<a id="__codelineno-32-49" name="__codelineno-32-49" href="#__codelineno-32-49"></a><span class="w"> </span><span class="cm">/* 队尾入队 */</span>
<a id="__codelineno-32-50" name="__codelineno-32-50" href="#__codelineno-32-50"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushLast</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-32-50" name="__codelineno-32-50" href="#__codelineno-32-50"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">pushLast</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-32-51" name="__codelineno-32-51" href="#__codelineno-32-51"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">_queSize</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="p">{</span>
<a id="__codelineno-32-52" name="__codelineno-32-52" href="#__codelineno-32-52"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">Exception</span><span class="p">(</span><span class="s2">&quot;双向队列已满&quot;</span><span class="p">);</span>
<a id="__codelineno-32-53" name="__codelineno-32-53" href="#__codelineno-32-53"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-54" name="__codelineno-32-54" href="#__codelineno-32-54"></a><span class="w"> </span><span class="c1">// 计算尾指针,指向队尾索引 + 1</span>
<a id="__codelineno-32-55" name="__codelineno-32-55" href="#__codelineno-32-55"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">rear</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">index</span><span class="p">(</span><span class="n">_front</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">_queSize</span><span class="p">);</span>
<a id="__codelineno-32-56" name="__codelineno-32-56" href="#__codelineno-32-56"></a><span class="w"> </span><span class="c1">// 将 num 添加至队尾</span>
<a id="__codelineno-32-57" name="__codelineno-32-57" href="#__codelineno-32-57"></a><span class="w"> </span><span class="n">_nums</span><span class="p">[</span><span class="n">rear</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-32-56" name="__codelineno-32-56" href="#__codelineno-32-56"></a><span class="w"> </span><span class="c1">// 将 _num 添加至队尾</span>
<a id="__codelineno-32-57" name="__codelineno-32-57" href="#__codelineno-32-57"></a><span class="w"> </span><span class="n">_nums</span><span class="p">[</span><span class="n">rear</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-32-58" name="__codelineno-32-58" href="#__codelineno-32-58"></a><span class="w"> </span><span class="n">_queSize</span><span class="o">++</span><span class="p">;</span>
<a id="__codelineno-32-59" name="__codelineno-32-59" href="#__codelineno-32-59"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-60" name="__codelineno-32-60" href="#__codelineno-32-60"></a>
<a id="__codelineno-32-61" name="__codelineno-32-61" href="#__codelineno-32-61"></a><span class="w"> </span><span class="cm">/* 队首出队 */</span>
<a id="__codelineno-32-62" name="__codelineno-32-62" href="#__codelineno-32-62"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">popFirst</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-32-63" name="__codelineno-32-63" href="#__codelineno-32-63"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">peekFirst</span><span class="p">();</span>
<a id="__codelineno-32-63" name="__codelineno-32-63" href="#__codelineno-32-63"></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">peekFirst</span><span class="p">();</span>
<a id="__codelineno-32-64" name="__codelineno-32-64" href="#__codelineno-32-64"></a><span class="w"> </span><span class="c1">// 队首指针向右移动一位</span>
<a id="__codelineno-32-65" name="__codelineno-32-65" href="#__codelineno-32-65"></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">index</span><span class="p">(</span><span class="n">_front</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="m">1</span><span class="p">);</span>
<a id="__codelineno-32-66" name="__codelineno-32-66" href="#__codelineno-32-66"></a><span class="w"> </span><span class="n">_queSize</span><span class="o">--</span><span class="p">;</span>
<a id="__codelineno-32-67" name="__codelineno-32-67" href="#__codelineno-32-67"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-32-67" name="__codelineno-32-67" href="#__codelineno-32-67"></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-32-68" name="__codelineno-32-68" href="#__codelineno-32-68"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-69" name="__codelineno-32-69" href="#__codelineno-32-69"></a>
<a id="__codelineno-32-70" name="__codelineno-32-70" href="#__codelineno-32-70"></a><span class="w"> </span><span class="cm">/* 队尾出队 */</span>
<a id="__codelineno-32-71" name="__codelineno-32-71" href="#__codelineno-32-71"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">popLast</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-32-72" name="__codelineno-32-72" href="#__codelineno-32-72"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">peekLast</span><span class="p">();</span>
<a id="__codelineno-32-72" name="__codelineno-32-72" href="#__codelineno-32-72"></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">peekLast</span><span class="p">();</span>
<a id="__codelineno-32-73" name="__codelineno-32-73" href="#__codelineno-32-73"></a><span class="w"> </span><span class="n">_queSize</span><span class="o">--</span><span class="p">;</span>
<a id="__codelineno-32-74" name="__codelineno-32-74" href="#__codelineno-32-74"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-32-74" name="__codelineno-32-74" href="#__codelineno-32-74"></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-32-75" name="__codelineno-32-75" href="#__codelineno-32-75"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-76" name="__codelineno-32-76" href="#__codelineno-32-76"></a>
<a id="__codelineno-32-77" name="__codelineno-32-77" href="#__codelineno-32-77"></a><span class="w"> </span><span class="cm">/* 访问队首元素 */</span>
@@ -6583,16 +6584,6 @@
<a id="__codelineno-34-102" name="__codelineno-34-102" href="#__codelineno-34-102"></a><span class="w"> </span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="o">--</span><span class="p">;</span>
<a id="__codelineno-34-103" name="__codelineno-34-103" href="#__codelineno-34-103"></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-34-104" name="__codelineno-34-104" href="#__codelineno-34-104"></a><span class="p">}</span>
<a id="__codelineno-34-105" name="__codelineno-34-105" href="#__codelineno-34-105"></a>
<a id="__codelineno-34-106" name="__codelineno-34-106" href="#__codelineno-34-106"></a><span class="cm">/* 打印队列 */</span>
<a id="__codelineno-34-107" name="__codelineno-34-107" href="#__codelineno-34-107"></a><span class="kt">void</span><span class="w"> </span><span class="nf">printArrayDeque</span><span class="p">(</span><span class="n">ArrayDeque</span><span class="w"> </span><span class="o">*</span><span class="n">deque</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-34-108" name="__codelineno-34-108" href="#__codelineno-34-108"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">];</span>
<a id="__codelineno-34-109" name="__codelineno-34-109" href="#__codelineno-34-109"></a><span class="w"> </span><span class="c1">// 拷贝</span>
<a id="__codelineno-34-110" name="__codelineno-34-110" href="#__codelineno-34-110"></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">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">front</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queSize</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="n">j</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-34-111" name="__codelineno-34-111" href="#__codelineno-34-111"></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">deque</span><span class="o">-&gt;</span><span class="n">nums</span><span class="p">[</span><span class="n">j</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queCapacity</span><span class="p">];</span>
<a id="__codelineno-34-112" name="__codelineno-34-112" href="#__codelineno-34-112"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-34-113" name="__codelineno-34-113" href="#__codelineno-34-113"></a><span class="w"> </span><span class="n">printArray</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span><span class="w"> </span><span class="n">deque</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">);</span>
<a id="__codelineno-34-114" name="__codelineno-34-114" href="#__codelineno-34-114"></a><span class="p">}</span>
</code></pre></div>
</div>
<div class="tabbed-block">

View File

@@ -4277,9 +4277,9 @@
<a id="__codelineno-20-20" name="__codelineno-20-20" href="#__codelineno-20-20"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-21" name="__codelineno-20-21" href="#__codelineno-20-21"></a>
<a id="__codelineno-20-22" name="__codelineno-20-22" href="#__codelineno-20-22"></a><span class="w"> </span><span class="cm">/* 入队 */</span>
<a id="__codelineno-20-23" name="__codelineno-20-23" href="#__codelineno-20-23"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-24" name="__codelineno-20-24" href="#__codelineno-20-24"></a><span class="w"> </span><span class="c1">// 尾节点后添加 num</span>
<a id="__codelineno-20-25" name="__codelineno-20-25" href="#__codelineno-20-25"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ListNode</span><span class="p">(</span><span class="kt">num</span><span class="p">);</span>
<a id="__codelineno-20-23" name="__codelineno-20-23" href="#__codelineno-20-23"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</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-20-24" name="__codelineno-20-24" href="#__codelineno-20-24"></a><span class="w"> </span><span class="c1">// 尾节点后添加 _num</span>
<a id="__codelineno-20-25" name="__codelineno-20-25" href="#__codelineno-20-25"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</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-20-26" name="__codelineno-20-26" href="#__codelineno-20-26"></a><span class="w"> </span><span class="c1">// 如果队列为空,则令头、尾节点都指向该节点</span>
<a id="__codelineno-20-27" name="__codelineno-20-27" href="#__codelineno-20-27"></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="kc">null</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-28" name="__codelineno-20-28" href="#__codelineno-20-28"></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>
@@ -4294,11 +4294,11 @@
<a id="__codelineno-20-37" name="__codelineno-20-37" href="#__codelineno-20-37"></a>
<a id="__codelineno-20-38" name="__codelineno-20-38" href="#__codelineno-20-38"></a><span class="w"> </span><span class="cm">/* 出队 */</span>
<a id="__codelineno-20-39" name="__codelineno-20-39" href="#__codelineno-20-39"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-40" name="__codelineno-20-40" href="#__codelineno-20-40"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">peek</span><span class="p">();</span>
<a id="__codelineno-20-40" name="__codelineno-20-40" href="#__codelineno-20-40"></a><span class="w"> </span><span class="kd">final</span><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">peek</span><span class="p">();</span>
<a id="__codelineno-20-41" name="__codelineno-20-41" href="#__codelineno-20-41"></a><span class="w"> </span><span class="c1">// 删除头节点</span>
<a id="__codelineno-20-42" name="__codelineno-20-42" href="#__codelineno-20-42"></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">_front</span><span class="o">!</span><span class="p">.</span><span class="n">next</span><span class="p">;</span>
<a id="__codelineno-20-43" name="__codelineno-20-43" href="#__codelineno-20-43"></a><span class="w"> </span><span class="n">_queSize</span><span class="o">--</span><span class="p">;</span>
<a id="__codelineno-20-44" name="__codelineno-20-44" href="#__codelineno-20-44"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-20-44" name="__codelineno-20-44" href="#__codelineno-20-44"></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-20-45" name="__codelineno-20-45" href="#__codelineno-20-45"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-46" name="__codelineno-20-46" href="#__codelineno-20-46"></a>
<a id="__codelineno-20-47" name="__codelineno-20-47" href="#__codelineno-20-47"></a><span class="w"> </span><span class="cm">/* 访问队首元素 */</span>
@@ -4474,7 +4474,7 @@
<a id="__codelineno-22-69" name="__codelineno-22-69" href="#__codelineno-22-69"></a>
<a id="__codelineno-22-70" name="__codelineno-22-70" href="#__codelineno-22-70"></a><span class="cm">/* 打印队列 */</span>
<a id="__codelineno-22-71" name="__codelineno-22-71" href="#__codelineno-22-71"></a><span class="kt">void</span><span class="w"> </span><span class="nf">printLinkedListQueue</span><span class="p">(</span><span class="n">LinkedListQueue</span><span class="w"> </span><span class="o">*</span><span class="n">queue</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-22-72" name="__codelineno-22-72" href="#__codelineno-22-72"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">];</span>
<a id="__codelineno-22-72" name="__codelineno-22-72" href="#__codelineno-22-72"></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="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">);</span>
<a id="__codelineno-22-73" name="__codelineno-22-73" href="#__codelineno-22-73"></a><span class="w"> </span><span class="c1">// 拷贝链表中的数据到数组</span>
<a id="__codelineno-22-74" name="__codelineno-22-74" href="#__codelineno-22-74"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>
<a id="__codelineno-22-75" name="__codelineno-22-75" href="#__codelineno-22-75"></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="p">;</span>
@@ -4483,7 +4483,8 @@
<a id="__codelineno-22-78" name="__codelineno-22-78" href="#__codelineno-22-78"></a><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">node</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">;</span>
<a id="__codelineno-22-79" name="__codelineno-22-79" href="#__codelineno-22-79"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-22-80" name="__codelineno-22-80" href="#__codelineno-22-80"></a><span class="w"> </span><span class="n">printArray</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">);</span>
<a id="__codelineno-22-81" name="__codelineno-22-81" href="#__codelineno-22-81"></a><span class="p">}</span>
<a id="__codelineno-22-81" name="__codelineno-22-81" href="#__codelineno-22-81"></a><span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">arr</span><span class="p">);</span>
<a id="__codelineno-22-82" name="__codelineno-22-82" href="#__codelineno-22-82"></a><span class="p">}</span>
</code></pre></div>
</div>
<div class="tabbed-block">
@@ -5180,25 +5181,25 @@
<a id="__codelineno-32-25" name="__codelineno-32-25" href="#__codelineno-32-25"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-26" name="__codelineno-32-26" href="#__codelineno-32-26"></a>
<a id="__codelineno-32-27" name="__codelineno-32-27" href="#__codelineno-32-27"></a><span class="w"> </span><span class="cm">/* 入队 */</span>
<a id="__codelineno-32-28" name="__codelineno-32-28" href="#__codelineno-32-28"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-32-28" name="__codelineno-32-28" href="#__codelineno-32-28"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</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-32-29" name="__codelineno-32-29" href="#__codelineno-32-29"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">_queSize</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="p">{</span>
<a id="__codelineno-32-30" name="__codelineno-32-30" href="#__codelineno-32-30"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">Exception</span><span class="p">(</span><span class="s2">&quot;队列已满&quot;</span><span class="p">);</span>
<a id="__codelineno-32-31" name="__codelineno-32-31" href="#__codelineno-32-31"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-32" name="__codelineno-32-32" href="#__codelineno-32-32"></a><span class="w"> </span><span class="c1">// 计算尾指针,指向队尾索引 + 1</span>
<a id="__codelineno-32-33" name="__codelineno-32-33" href="#__codelineno-32-33"></a><span class="w"> </span><span class="c1">// 通过取余操作,实现 rear 越过数组尾部后回到头部</span>
<a id="__codelineno-32-34" name="__codelineno-32-34" href="#__codelineno-32-34"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">rear</span><span class="w"> </span><span class="o">=</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="n">_queSize</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-32-35" name="__codelineno-32-35" href="#__codelineno-32-35"></a><span class="w"> </span><span class="c1">// 将 num 添加至队尾</span>
<a id="__codelineno-32-36" name="__codelineno-32-36" href="#__codelineno-32-36"></a><span class="w"> </span><span class="n">_nums</span><span class="p">[</span><span class="n">rear</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-32-35" name="__codelineno-32-35" href="#__codelineno-32-35"></a><span class="w"> </span><span class="c1">// 将 _num 添加至队尾</span>
<a id="__codelineno-32-36" name="__codelineno-32-36" href="#__codelineno-32-36"></a><span class="w"> </span><span class="n">_nums</span><span class="p">[</span><span class="n">rear</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-32-37" name="__codelineno-32-37" href="#__codelineno-32-37"></a><span class="w"> </span><span class="n">_queSize</span><span class="o">++</span><span class="p">;</span>
<a id="__codelineno-32-38" name="__codelineno-32-38" href="#__codelineno-32-38"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-39" name="__codelineno-32-39" href="#__codelineno-32-39"></a>
<a id="__codelineno-32-40" name="__codelineno-32-40" href="#__codelineno-32-40"></a><span class="w"> </span><span class="cm">/* 出队 */</span>
<a id="__codelineno-32-41" name="__codelineno-32-41" href="#__codelineno-32-41"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-32-42" name="__codelineno-32-42" href="#__codelineno-32-42"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">peek</span><span class="p">();</span>
<a id="__codelineno-32-42" name="__codelineno-32-42" href="#__codelineno-32-42"></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">peek</span><span class="p">();</span>
<a id="__codelineno-32-43" name="__codelineno-32-43" href="#__codelineno-32-43"></a><span class="w"> </span><span class="c1">// 队首指针向后移动一位,若越过尾部则返回到数组头部</span>
<a id="__codelineno-32-44" name="__codelineno-32-44" href="#__codelineno-32-44"></a><span class="w"> </span><span class="n">_front</span><span class="w"> </span><span class="o">=</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="m">1</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-32-45" name="__codelineno-32-45" href="#__codelineno-32-45"></a><span class="w"> </span><span class="n">_queSize</span><span class="o">--</span><span class="p">;</span>
<a id="__codelineno-32-46" name="__codelineno-32-46" href="#__codelineno-32-46"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-32-46" name="__codelineno-32-46" href="#__codelineno-32-46"></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-32-47" name="__codelineno-32-47" href="#__codelineno-32-47"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-48" name="__codelineno-32-48" href="#__codelineno-32-48"></a>
<a id="__codelineno-32-49" name="__codelineno-32-49" href="#__codelineno-32-49"></a><span class="w"> </span><span class="cm">/* 访问队首元素 */</span>
@@ -5368,16 +5369,6 @@
<a id="__codelineno-34-64" name="__codelineno-34-64" href="#__codelineno-34-64"></a><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">front</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">front</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">queue</span><span class="o">-&gt;</span><span class="n">queCapacity</span><span class="p">;</span>
<a id="__codelineno-34-65" name="__codelineno-34-65" href="#__codelineno-34-65"></a><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="o">--</span><span class="p">;</span>
<a id="__codelineno-34-66" name="__codelineno-34-66" href="#__codelineno-34-66"></a><span class="p">}</span>
<a id="__codelineno-34-67" name="__codelineno-34-67" href="#__codelineno-34-67"></a>
<a id="__codelineno-34-68" name="__codelineno-34-68" href="#__codelineno-34-68"></a><span class="cm">/* 打印队列 */</span>
<a id="__codelineno-34-69" name="__codelineno-34-69" href="#__codelineno-34-69"></a><span class="kt">void</span><span class="w"> </span><span class="nf">printArrayQueue</span><span class="p">(</span><span class="n">ArrayQueue</span><span class="w"> </span><span class="o">*</span><span class="n">queue</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-34-70" name="__codelineno-34-70" href="#__codelineno-34-70"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">arr</span><span class="p">[</span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">];</span>
<a id="__codelineno-34-71" name="__codelineno-34-71" href="#__codelineno-34-71"></a><span class="w"> </span><span class="c1">// 拷贝</span>
<a id="__codelineno-34-72" name="__codelineno-34-72" href="#__codelineno-34-72"></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">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">front</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queSize</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="n">j</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-34-73" name="__codelineno-34-73" href="#__codelineno-34-73"></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">queue</span><span class="o">-&gt;</span><span class="n">nums</span><span class="p">[</span><span class="n">j</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queCapacity</span><span class="p">];</span>
<a id="__codelineno-34-74" name="__codelineno-34-74" href="#__codelineno-34-74"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-34-75" name="__codelineno-34-75" href="#__codelineno-34-75"></a><span class="w"> </span><span class="n">printArray</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span><span class="w"> </span><span class="n">queue</span><span class="o">-&gt;</span><span class="n">queSize</span><span class="p">);</span>
<a id="__codelineno-34-76" name="__codelineno-34-76" href="#__codelineno-34-76"></a><span class="p">}</span>
</code></pre></div>
</div>
<div class="tabbed-block">

View File

@@ -4215,8 +4215,8 @@
<a id="__codelineno-20-18" name="__codelineno-20-18" href="#__codelineno-20-18"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-19" name="__codelineno-20-19" href="#__codelineno-20-19"></a>
<a id="__codelineno-20-20" name="__codelineno-20-20" href="#__codelineno-20-20"></a><span class="w"> </span><span class="cm">/* 入栈 */</span>
<a id="__codelineno-20-21" name="__codelineno-20-21" href="#__codelineno-20-21"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-22" name="__codelineno-20-22" href="#__codelineno-20-22"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">ListNode</span><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ListNode</span><span class="p">(</span><span class="kt">num</span><span class="p">);</span>
<a id="__codelineno-20-21" name="__codelineno-20-21" href="#__codelineno-20-21"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</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-20-22" name="__codelineno-20-22" href="#__codelineno-20-22"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">ListNode</span><span class="w"> </span><span class="n">node</span><span class="w"> </span><span class="o">=</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-20-23" name="__codelineno-20-23" href="#__codelineno-20-23"></a><span class="w"> </span><span class="n">node</span><span class="p">.</span><span class="n">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">_stackPeek</span><span class="p">;</span>
<a id="__codelineno-20-24" name="__codelineno-20-24" href="#__codelineno-20-24"></a><span class="w"> </span><span class="n">_stackPeek</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-20-25" name="__codelineno-20-25" href="#__codelineno-20-25"></a><span class="w"> </span><span class="n">_stkSize</span><span class="o">++</span><span class="p">;</span>
@@ -4224,10 +4224,10 @@
<a id="__codelineno-20-27" name="__codelineno-20-27" href="#__codelineno-20-27"></a>
<a id="__codelineno-20-28" name="__codelineno-20-28" href="#__codelineno-20-28"></a><span class="w"> </span><span class="cm">/* 出栈 */</span>
<a id="__codelineno-20-29" name="__codelineno-20-29" href="#__codelineno-20-29"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-20-30" name="__codelineno-20-30" href="#__codelineno-20-30"></a><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">peek</span><span class="p">();</span>
<a id="__codelineno-20-30" name="__codelineno-20-30" href="#__codelineno-20-30"></a><span class="w"> </span><span class="kd">final</span><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">peek</span><span class="p">();</span>
<a id="__codelineno-20-31" name="__codelineno-20-31" href="#__codelineno-20-31"></a><span class="w"> </span><span class="n">_stackPeek</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">_stackPeek</span><span class="o">!</span><span class="p">.</span><span class="n">next</span><span class="p">;</span>
<a id="__codelineno-20-32" name="__codelineno-20-32" href="#__codelineno-20-32"></a><span class="w"> </span><span class="n">_stkSize</span><span class="o">--</span><span class="p">;</span>
<a id="__codelineno-20-33" name="__codelineno-20-33" href="#__codelineno-20-33"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kt">num</span><span class="p">;</span>
<a id="__codelineno-20-33" name="__codelineno-20-33" href="#__codelineno-20-33"></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-20-34" name="__codelineno-20-34" href="#__codelineno-20-34"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-20-35" name="__codelineno-20-35" href="#__codelineno-20-35"></a>
<a id="__codelineno-20-36" name="__codelineno-20-36" href="#__codelineno-20-36"></a><span class="w"> </span><span class="cm">/* 访问栈顶元素 */</span>
@@ -4864,8 +4864,8 @@
<a id="__codelineno-32-16" name="__codelineno-32-16" href="#__codelineno-32-16"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-17" name="__codelineno-32-17" href="#__codelineno-32-17"></a>
<a id="__codelineno-32-18" name="__codelineno-32-18" href="#__codelineno-32-18"></a><span class="w"> </span><span class="cm">/* 入栈 */</span>
<a id="__codelineno-32-19" name="__codelineno-32-19" href="#__codelineno-32-19"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="kt">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-32-20" name="__codelineno-32-20" href="#__codelineno-32-20"></a><span class="w"> </span><span class="n">_stack</span><span class="p">.</span><span class="n">add</span><span class="p">(</span><span class="kt">num</span><span class="p">);</span>
<a id="__codelineno-32-19" name="__codelineno-32-19" href="#__codelineno-32-19"></a><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">push</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-32-20" name="__codelineno-32-20" href="#__codelineno-32-20"></a><span class="w"> </span><span class="n">_stack</span><span class="p">.</span><span class="n">add</span><span class="p">(</span><span class="n">_num</span><span class="p">);</span>
<a id="__codelineno-32-21" name="__codelineno-32-21" href="#__codelineno-32-21"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-32-22" name="__codelineno-32-22" href="#__codelineno-32-22"></a>
<a id="__codelineno-32-23" name="__codelineno-32-23" href="#__codelineno-32-23"></a><span class="w"> </span><span class="cm">/* 出栈 */</span>