mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-24 18:55:36 +08:00
deploy
This commit is contained in:
@ -3258,7 +3258,7 @@ O((n - 1) \frac{n}{2}) = O(n^2)
|
||||
<a id="__codelineno-88-2" name="__codelineno-88-2" href="#__codelineno-88-2"></a><span class="kd">func</span> <span class="nf">bubbleSort</span><span class="p">(</span><span class="n">nums</span><span class="p">:</span> <span class="kr">inout</span> <span class="p">[</span><span class="nb">Int</span><span class="p">])</span> <span class="p">-></span> <span class="nb">Int</span> <span class="p">{</span>
|
||||
<a id="__codelineno-88-3" name="__codelineno-88-3" href="#__codelineno-88-3"></a> <span class="kd">var</span> <span class="nv">count</span> <span class="p">=</span> <span class="mi">0</span> <span class="c1">// 计数器</span>
|
||||
<a id="__codelineno-88-4" name="__codelineno-88-4" href="#__codelineno-88-4"></a> <span class="c1">// 外循环:待排序元素数量为 n-1, n-2, ..., 1</span>
|
||||
<a id="__codelineno-88-5" name="__codelineno-88-5" href="#__codelineno-88-5"></a> <span class="k">for</span> <span class="n">i</span> <span class="k">in</span> <span class="n">sequence</span><span class="p">(</span><span class="bp">first</span><span class="p">:</span> <span class="n">nums</span><span class="p">.</span><span class="bp">count</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">next</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span> <span class="o">></span> <span class="mi">0</span> <span class="o">+</span> <span class="mi">1</span> <span class="p">?</span> <span class="nv">$0</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">:</span> <span class="kc">nil</span> <span class="p">})</span> <span class="p">{</span>
|
||||
<a id="__codelineno-88-5" name="__codelineno-88-5" href="#__codelineno-88-5"></a> <span class="k">for</span> <span class="n">i</span> <span class="k">in</span> <span class="bp">stride</span><span class="p">(</span><span class="n">from</span><span class="p">:</span> <span class="n">nums</span><span class="p">.</span><span class="bp">count</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">to</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">by</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
|
||||
<a id="__codelineno-88-6" name="__codelineno-88-6" href="#__codelineno-88-6"></a> <span class="c1">// 内循环:冒泡操作</span>
|
||||
<a id="__codelineno-88-7" name="__codelineno-88-7" href="#__codelineno-88-7"></a> <span class="k">for</span> <span class="n">j</span> <span class="k">in</span> <span class="mi">0</span> <span class="p">..</span><span class="o"><</span> <span class="n">i</span> <span class="p">{</span>
|
||||
<a id="__codelineno-88-8" name="__codelineno-88-8" href="#__codelineno-88-8"></a> <span class="k">if</span> <span class="n">nums</span><span class="p">[</span><span class="n">j</span><span class="p">]</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="p">{</span>
|
||||
@ -3870,7 +3870,7 @@ O((n - 1) \frac{n}{2}) = O(n^2)
|
||||
<a id="__codelineno-138-4" name="__codelineno-138-4" href="#__codelineno-138-4"></a> <span class="k">return</span> <span class="mi">1</span>
|
||||
<a id="__codelineno-138-5" name="__codelineno-138-5" href="#__codelineno-138-5"></a> <span class="p">}</span>
|
||||
<a id="__codelineno-138-6" name="__codelineno-138-6" href="#__codelineno-138-6"></a> <span class="kd">var</span> <span class="nv">count</span> <span class="p">=</span> <span class="n">linearLogRecur</span><span class="p">(</span><span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">linearLogRecur</span><span class="p">(</span><span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)</span>
|
||||
<a id="__codelineno-138-7" name="__codelineno-138-7" href="#__codelineno-138-7"></a> <span class="k">for</span> <span class="kc">_</span> <span class="k">in</span> <span class="n">sequence</span><span class="p">(</span><span class="bp">first</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">next</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span> <span class="o"><</span> <span class="n">n</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">?</span> <span class="nv">$0</span> <span class="o">+</span> <span class="mi">1</span> <span class="p">:</span> <span class="kc">nil</span> <span class="p">})</span> <span class="p">{</span>
|
||||
<a id="__codelineno-138-7" name="__codelineno-138-7" href="#__codelineno-138-7"></a> <span class="k">for</span> <span class="kc">_</span> <span class="k">in</span> <span class="bp">stride</span><span class="p">(</span><span class="n">from</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">to</span><span class="p">:</span> <span class="n">n</span><span class="p">,</span> <span class="n">by</span><span class="p">:</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
|
||||
<a id="__codelineno-138-8" name="__codelineno-138-8" href="#__codelineno-138-8"></a> <span class="bp">count</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
<a id="__codelineno-138-9" name="__codelineno-138-9" href="#__codelineno-138-9"></a> <span class="p">}</span>
|
||||
<a id="__codelineno-138-10" name="__codelineno-138-10" href="#__codelineno-138-10"></a> <span class="k">return</span> <span class="bp">count</span>
|
||||
|
Reference in New Issue
Block a user