[php]代码库
// 选择排序 不稳定排序
function selection_sort($array)
{
$max = count($array) - 1;
for($i = 0; $i < $max; $i++)
{
$min = $i;
for($j = $i + 1; $j <= $max; $j++)
{
if($array[$j] < $array[$min])
{
$min = $j;
}
}
if($min != $i)
{
$temp = $array[$min];
$array[$min] = $array[$i];
$array[$i] = $temp;
}
}
return $array;
}
// foreach while 插入排序
function insertsort($arr)
{
foreach($arr as $k => $v)
{
$i = $k - 1;
while($i > -1 && $v < $arr[$i])
{
$next = $arr[$i + 1];
$arr[$i + 1] = $arr[$i];
$arr[$i] = $next;
$i--;
}
}
return $arr;
}
// for while 插入排序
function insertsort1($arr)
{
$max_key = count($arr) - 1;
for($i = 1; $i <= $max_key; $i++)
{
$j = $i - 1;
$current = $arr[$i];
while($j >= 0 && $arr[$j] > $current)
{
$temp = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $temp;
$j--;
}
}
return $arr;
}
//该片段来自于http://yuncode.net