PHP学习心得


选择排序

<ul> <li>通过假设一个最小数的key,来逐个比较后面的值,如果假设的值大于后面的值,则互换位置。</li> </ul> <h2>实现</h2> <pre><code class="language-php">function select(array $arr) { $count = count($arr); if (empty($arr) || $count == 1) { return $arr; } // 大循环,控制轮数 for ($out = 0; $out &lt; $count; $out++) { // 假设的最小值的key $min = $out; // 小循环,逐个比较后面的值 for ($in = $out + 1; $in &lt; $count; $in++) { if ($arr[$min] &gt; $arr[$in]) { $min = $in; // 交换key } } // 不相同,则互换位置 if ($min != $out) { $tem = $arr[$out]; $arr[$out] = $arr[$min]; $arr[$min] = $tem; } } return $arr; }</code></pre> <h2>测试</h2> <pre><code class="language-php">$arr = [23, 15, 43, 25, 54, 2, 6, 82, 11, 5, 21, 32, 65]; $select = select($arr); var_export($select);</code></pre> <h2>结果</h2> <pre><code class="language-php">array ( 0 =&gt; 2, 1 =&gt; 5, 2 =&gt; 6, 3 =&gt; 11, 4 =&gt; 15, 5 =&gt; 21, 6 =&gt; 23, 7 =&gt; 25, 8 =&gt; 32, 9 =&gt; 43, 10 =&gt; 54, 11 =&gt; 65, 12 =&gt; 82, )</code></pre>

页面列表

ITEM_HTML