This commit is contained in:
krahets
2024-03-21 04:22:16 +08:00
parent e5237ad99c
commit 5d9f0e656d
58 changed files with 1238 additions and 1216 deletions

View File

@@ -5100,8 +5100,8 @@
<a id="__codelineno-17-35" name="__codelineno-17-35" href="#__codelineno-17-35"></a> <span class="bp">fatalError</span><span class="p">(</span><span class="s">&quot;参数错误&quot;</span><span class="p">)</span>
<a id="__codelineno-17-36" name="__codelineno-17-36" href="#__codelineno-17-36"></a> <span class="p">}</span>
<a id="__codelineno-17-37" name="__codelineno-17-37" href="#__codelineno-17-37"></a> <span class="c1">// 删除边 vet1 - vet2</span>
<a id="__codelineno-17-38" name="__codelineno-17-38" href="#__codelineno-17-38"></a> <span class="n">adjList</span><span class="p">[</span><span class="n">vet1</span><span class="p">]?.</span><span class="bp">removeAll</span><span class="p">(</span><span class="k">where</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">==</span> <span class="n">vet2</span> <span class="p">})</span>
<a id="__codelineno-17-39" name="__codelineno-17-39" href="#__codelineno-17-39"></a> <span class="n">adjList</span><span class="p">[</span><span class="n">vet2</span><span class="p">]?.</span><span class="bp">removeAll</span><span class="p">(</span><span class="k">where</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">==</span> <span class="n">vet1</span> <span class="p">})</span>
<a id="__codelineno-17-38" name="__codelineno-17-38" href="#__codelineno-17-38"></a> <span class="n">adjList</span><span class="p">[</span><span class="n">vet1</span><span class="p">]?.</span><span class="bp">removeAll</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">==</span> <span class="n">vet2</span> <span class="p">}</span>
<a id="__codelineno-17-39" name="__codelineno-17-39" href="#__codelineno-17-39"></a> <span class="n">adjList</span><span class="p">[</span><span class="n">vet2</span><span class="p">]?.</span><span class="bp">removeAll</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">==</span> <span class="n">vet1</span> <span class="p">}</span>
<a id="__codelineno-17-40" name="__codelineno-17-40" href="#__codelineno-17-40"></a> <span class="p">}</span>
<a id="__codelineno-17-41" name="__codelineno-17-41" href="#__codelineno-17-41"></a>
<a id="__codelineno-17-42" name="__codelineno-17-42" href="#__codelineno-17-42"></a> <span class="cm">/* 添加顶点 */</span>
@@ -5122,22 +5122,19 @@
<a id="__codelineno-17-57" name="__codelineno-17-57" href="#__codelineno-17-57"></a> <span class="n">adjList</span><span class="p">.</span><span class="n">removeValue</span><span class="p">(</span><span class="n">forKey</span><span class="p">:</span> <span class="n">vet</span><span class="p">)</span>
<a id="__codelineno-17-58" name="__codelineno-17-58" href="#__codelineno-17-58"></a> <span class="c1">// 遍历其他顶点的链表,删除所有包含 vet 的边</span>
<a id="__codelineno-17-59" name="__codelineno-17-59" href="#__codelineno-17-59"></a> <span class="k">for</span> <span class="n">key</span> <span class="k">in</span> <span class="n">adjList</span><span class="p">.</span><span class="n">keys</span> <span class="p">{</span>
<a id="__codelineno-17-60" name="__codelineno-17-60" href="#__codelineno-17-60"></a> <span class="n">adjList</span><span class="p">[</span><span class="n">key</span><span class="p">]?.</span><span class="bp">removeAll</span><span class="p">(</span><span class="k">where</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">==</span> <span class="n">vet</span> <span class="p">})</span>
<a id="__codelineno-17-60" name="__codelineno-17-60" href="#__codelineno-17-60"></a> <span class="n">adjList</span><span class="p">[</span><span class="n">key</span><span class="p">]?.</span><span class="bp">removeAll</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">==</span> <span class="n">vet</span> <span class="p">}</span>
<a id="__codelineno-17-61" name="__codelineno-17-61" href="#__codelineno-17-61"></a> <span class="p">}</span>
<a id="__codelineno-17-62" name="__codelineno-17-62" href="#__codelineno-17-62"></a> <span class="p">}</span>
<a id="__codelineno-17-63" name="__codelineno-17-63" href="#__codelineno-17-63"></a>
<a id="__codelineno-17-64" name="__codelineno-17-64" href="#__codelineno-17-64"></a> <span class="cm">/* 打印邻接表 */</span>
<a id="__codelineno-17-65" name="__codelineno-17-65" href="#__codelineno-17-65"></a> <span class="kd">public</span> <span class="kd">func</span> <span class="nf">print</span><span class="p">()</span> <span class="p">{</span>
<a id="__codelineno-17-66" name="__codelineno-17-66" href="#__codelineno-17-66"></a> <span class="n">Swift</span><span class="p">.</span><span class="bp">print</span><span class="p">(</span><span class="s">&quot;邻接表 =&quot;</span><span class="p">)</span>
<a id="__codelineno-17-67" name="__codelineno-17-67" href="#__codelineno-17-67"></a> <span class="k">for</span> <span class="n">pair</span> <span class="k">in</span> <span class="n">adjList</span> <span class="p">{</span>
<a id="__codelineno-17-68" name="__codelineno-17-68" href="#__codelineno-17-68"></a> <span class="kd">var</span> <span class="nv">tmp</span><span class="p">:</span> <span class="p">[</span><span class="nb">Int</span><span class="p">]</span> <span class="p">=</span> <span class="p">[]</span>
<a id="__codelineno-17-69" name="__codelineno-17-69" href="#__codelineno-17-69"></a> <span class="k">for</span> <span class="n">vertex</span> <span class="k">in</span> <span class="n">pair</span><span class="p">.</span><span class="n">value</span> <span class="p">{</span>
<a id="__codelineno-17-70" name="__codelineno-17-70" href="#__codelineno-17-70"></a> <span class="n">tmp</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="n">vertex</span><span class="p">.</span><span class="n">val</span><span class="p">)</span>
<a id="__codelineno-17-71" name="__codelineno-17-71" href="#__codelineno-17-71"></a> <span class="p">}</span>
<a id="__codelineno-17-72" name="__codelineno-17-72" href="#__codelineno-17-72"></a> <span class="n">Swift</span><span class="p">.</span><span class="bp">print</span><span class="p">(</span><span class="s">&quot;</span><span class="si">\(</span><span class="n">pair</span><span class="p">.</span><span class="n">key</span><span class="p">.</span><span class="n">val</span><span class="si">)</span><span class="s">: </span><span class="si">\(</span><span class="n">tmp</span><span class="si">)</span><span class="s">,&quot;</span><span class="p">)</span>
<a id="__codelineno-17-73" name="__codelineno-17-73" href="#__codelineno-17-73"></a> <span class="p">}</span>
<a id="__codelineno-17-74" name="__codelineno-17-74" href="#__codelineno-17-74"></a> <span class="p">}</span>
<a id="__codelineno-17-75" name="__codelineno-17-75" href="#__codelineno-17-75"></a><span class="p">}</span>
<a id="__codelineno-17-67" name="__codelineno-17-67" href="#__codelineno-17-67"></a> <span class="k">for</span> <span class="p">(</span><span class="n">vertex</span><span class="p">,</span> <span class="n">list</span><span class="p">)</span> <span class="k">in</span> <span class="n">adjList</span> <span class="p">{</span>
<a id="__codelineno-17-68" name="__codelineno-17-68" href="#__codelineno-17-68"></a> <span class="kd">let</span> <span class="nv">list</span> <span class="p">=</span> <span class="n">list</span><span class="p">.</span><span class="bp">map</span> <span class="p">{</span> <span class="nv">$0</span><span class="p">.</span><span class="n">val</span> <span class="p">}</span>
<a id="__codelineno-17-69" name="__codelineno-17-69" href="#__codelineno-17-69"></a> <span class="n">Swift</span><span class="p">.</span><span class="bp">print</span><span class="p">(</span><span class="s">&quot;</span><span class="si">\(</span><span class="n">vertex</span><span class="p">.</span><span class="n">val</span><span class="si">)</span><span class="s">: </span><span class="si">\(</span><span class="n">list</span><span class="si">)</span><span class="s">,&quot;</span><span class="p">)</span>
<a id="__codelineno-17-70" name="__codelineno-17-70" href="#__codelineno-17-70"></a> <span class="p">}</span>
<a id="__codelineno-17-71" name="__codelineno-17-71" href="#__codelineno-17-71"></a> <span class="p">}</span>
<a id="__codelineno-17-72" name="__codelineno-17-72" href="#__codelineno-17-72"></a><span class="p">}</span>
</code></pre></div>
</div>
<div class="tabbed-block">