Blog
It's a Wonderful Life
选择排序算法
作为另一种时间复杂度为O(n^2)的算法,选择排序显然效率是很低的,但是它的思路却最符合人类思维。即:找出一串无序数组中最小的数,把它放在第一位,然后找出第二小的数,把它放在第二位。。以此类推。
下面给出代码实现:
<?php
function select_sort($arr)
{
$n = count($arr) - 1;
for ($i = 0; $i <= $n; $i++)
{
$k = $i;
for ($j = $i + 1; $j <= $n; $j++)
{
if ($arr[$k] > $arr[$j])
{
$k = $j;
}
}
if ($k != $i)
{
$temp = $arr[$k];
$arr[$k] = $arr[$i];
$arr[$i] = $temp;
}
}
return $arr;
}