This commit is contained in:
krahets
2023-06-26 23:13:50 +08:00
parent 09db8d923a
commit cb81d94076
8 changed files with 1460 additions and 1278 deletions

View File

@@ -2958,7 +2958,7 @@
<a id="__codelineno-67-59" name="__codelineno-67-59" href="#__codelineno-67-59"></a><span class="w"> </span><span class="c1">// 元素数量超出容量时,触发扩容机制</span>
<a id="__codelineno-67-60" name="__codelineno-67-60" href="#__codelineno-67-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-67-61" name="__codelineno-67-61" href="#__codelineno-67-61"></a><span class="w"> </span><span class="n">extendCapacity</span><span class="p">();</span>
<a id="__codelineno-67-62" name="__codelineno-67-62" href="#__codelineno-67-62"></a><span class="w"> </span><span class="c1">// 索引 i 以及之后的元素都向后移动一位</span>
<a id="__codelineno-67-62" name="__codelineno-67-62" href="#__codelineno-67-62"></a><span class="w"> </span><span class="c1">// 索引 index 以及之后的元素都向后移动一位</span>
<a id="__codelineno-67-63" name="__codelineno-67-63" href="#__codelineno-67-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">&gt;=</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-67-64" name="__codelineno-67-64" href="#__codelineno-67-64"></a><span class="w"> </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="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">nums</span><span class="p">[</span><span class="n">j</span><span class="p">];</span>
<a id="__codelineno-67-65" name="__codelineno-67-65" href="#__codelineno-67-65"></a><span class="w"> </span><span class="p">}</span>
@@ -3056,7 +3056,7 @@
<a id="__codelineno-68-44" name="__codelineno-68-44" href="#__codelineno-68-44"></a> <span class="c1"># 元素数量超出容量时,触发扩容机制</span>
<a id="__codelineno-68-45" name="__codelineno-68-45" href="#__codelineno-68-45"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">capacity</span><span class="p">():</span>
<a id="__codelineno-68-46" name="__codelineno-68-46" href="#__codelineno-68-46"></a> <span class="bp">self</span><span class="o">.</span><span class="n">extend_capacity</span><span class="p">()</span>
<a id="__codelineno-68-47" name="__codelineno-68-47" href="#__codelineno-68-47"></a> <span class="c1"># 索引 i 以及之后的元素都向后移动一位</span>
<a id="__codelineno-68-47" name="__codelineno-68-47" href="#__codelineno-68-47"></a> <span class="c1"># 索引 index 以及之后的元素都向后移动一位</span>
<a id="__codelineno-68-48" name="__codelineno-68-48" href="#__codelineno-68-48"></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">index</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">):</span>
<a id="__codelineno-68-49" name="__codelineno-68-49" href="#__codelineno-68-49"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[</span><span class="n">j</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[</span><span class="n">j</span><span class="p">]</span>
<a id="__codelineno-68-50" name="__codelineno-68-50" href="#__codelineno-68-50"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">num</span>
@@ -3154,7 +3154,7 @@
<a id="__codelineno-69-63" name="__codelineno-69-63" href="#__codelineno-69-63"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">l</span><span class="p">.</span><span class="nx">numsSize</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nx">l</span><span class="p">.</span><span class="nx">numsCapacity</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-69-64" name="__codelineno-69-64" href="#__codelineno-69-64"></a><span class="w"> </span><span class="nx">l</span><span class="p">.</span><span class="nx">extendCapacity</span><span class="p">()</span>
<a id="__codelineno-69-65" name="__codelineno-69-65" href="#__codelineno-69-65"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-69-66" name="__codelineno-69-66" href="#__codelineno-69-66"></a><span class="w"> </span><span class="c1">// 索引 i 以及之后的元素都向后移动一位</span>
<a id="__codelineno-69-66" name="__codelineno-69-66" href="#__codelineno-69-66"></a><span class="w"> </span><span class="c1">// 索引 index 以及之后的元素都向后移动一位</span>
<a id="__codelineno-69-67" name="__codelineno-69-67" href="#__codelineno-69-67"></a><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">l</span><span class="p">.</span><span class="nx">numsSize</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="nx">j</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="nx">index</span><span class="p">;</span><span class="w"> </span><span class="nx">j</span><span class="o">--</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-69-68" name="__codelineno-69-68" href="#__codelineno-69-68"></a><span class="w"> </span><span class="nx">l</span><span class="p">.</span><span class="nx">nums</span><span class="p">[</span><span class="nx">j</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">l</span><span class="p">.</span><span class="nx">nums</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span>
<a id="__codelineno-69-69" name="__codelineno-69-69" href="#__codelineno-69-69"></a><span class="w"> </span><span class="p">}</span>
@@ -3768,7 +3768,7 @@
<a id="__codelineno-75-64" name="__codelineno-75-64" href="#__codelineno-75-64"></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">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">self</span><span class="p">.</span><span class="n">size</span><span class="p">())</span><span class="w"> </span><span class="nb">@panic</span><span class="p">(</span><span class="s">&quot;索引越界&quot;</span><span class="p">);</span>
<a id="__codelineno-75-65" name="__codelineno-75-65" href="#__codelineno-75-65"></a><span class="w"> </span><span class="c1">// 元素数量超出容量时,触发扩容机制</span>
<a id="__codelineno-75-66" name="__codelineno-75-66" href="#__codelineno-75-66"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">self</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">self</span><span class="p">.</span><span class="n">capacity</span><span class="p">())</span><span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="n">self</span><span class="p">.</span><span class="n">extendCapacity</span><span class="p">();</span>
<a id="__codelineno-75-67" name="__codelineno-75-67" href="#__codelineno-75-67"></a><span class="w"> </span><span class="c1">// 索引 i 以及之后的元素都向后移动一位</span>
<a id="__codelineno-75-67" name="__codelineno-75-67" href="#__codelineno-75-67"></a><span class="w"> </span><span class="c1">// 索引 index 以及之后的元素都向后移动一位</span>
<a id="__codelineno-75-68" name="__codelineno-75-68" href="#__codelineno-75-68"></a><span class="w"> </span><span class="kr">var</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">self</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="mi">1</span><span class="p">;</span>
<a id="__codelineno-75-69" name="__codelineno-75-69" href="#__codelineno-75-69"></a><span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">j</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">index</span><span class="p">)</span><span class="w"> </span><span class="o">:</span><span class="w"> </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="p">{</span>
<a id="__codelineno-75-70" name="__codelineno-75-70" href="#__codelineno-75-70"></a><span class="w"> </span><span class="n">self</span><span class="p">.</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="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">self</span><span class="p">.</span><span class="n">nums</span><span class="p">[</span><span class="n">j</span><span class="p">];</span>