phpデータ構造アルゴリズム(PHP記述)単純選択ソートsimple selection sort

1050 ワード

 
  
/**
* simple selection sort
*
* : , min=i, , min, min i, , min i 。
*/
function sort_simple_selection($list)
{
$len = count($list);
if(empty($len)) return $list;
for($i = 0;$i < $len; $i++)
{
$min = $i;
for($j = $i + 1; $j < $len; $j++)
{
//if($list[$j] > $list[$min]) //
if($list[$j] < $list[$min]) //
{
$min = $j;
}
echo implode(',',$list)."#pos=".($min + 1)." min=".$list[$min]."
";
}
if($min != $i)
{
$temp = $list[$i];
$list[$i] = $list[$min];
$list[$min] = $temp;
}
echo "-------------------------
";
}
}
$list = array(4,3,2,1,5,7,3,7);
$list = sort_simple_selection($list);