选择排序法

选择排序法

  • 原理:

从未排序序列A找出最小元素,放到排序序列B末尾,知道所有元素排序完毕。

算法源码

/**
*    外层循环控制比较次数和当前最小元素;
*    里层循环作比较
*/
$len = count($arr);
for ($i=0;$i<$len-1;$i++){
    //记录当前最小值位置
    $min = $i;
    for ($j=$i+1;$j<$len;$j++){
        //与当前最小值做比较
        if ($arr[$min]>$arr[$j]){
            //比当前最小值小,就修改当前最小值位置。
            $min = $j;
        }
    }
    //当前最小值位置与最初的不一样,就修改最小值
    if ($min != $i){
        $tmp = $arr[$i];
        $arr[$min] = $arr[$i];
        $arr[$i] = $tmp;
    }
}

Larwas
请先登录后发表评论
  • latest comments
  • 总共0条评论