php 四种基础算法 ---- 选择排序法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 四种基础算法 ---- 选择排序法相关的知识,希望对你有一定的参考价值。

2. 选择排序法: 
选择排序法思路: 每次选择一个相应的元素,然后将其放到指定的位置 

代码:

function select_sort($arr) {
//实现思路 双重循环完成,外层控制轮数,当前的最小值。内层 控制的比较次数
    //$i 当前最小值的位置, 需要参与比较的元素
    for($i=0, $len=count($arr); $i<$len-1; $i++) {
        //先假设最小的值的位置
        $p = $i;
        //$j 当前都需要和哪些元素比较,$i 后边的。
        for($j=$i+1; $j<$len; $j++) {
            //$arr[$p] 是 当前已知的最小值
            if($arr[$p] > $arr[$j]) {
     //比较,发现更小的,记录下最小值的位置;并且在下次比较时,
 // 应该采用已知的最小值进行比较。
                $p = $j;
            }
        }
        //已经确定了当前的最小值的位置,保存到$p中。
 //如果发现 最小值的位置与当前假设的位置$i不同,则位置互换即可
        if($p != $i) {
            $tmp = $arr[$p];
            $arr[$p] = $arr[$i];
            $arr[$i] = $tmp;
        }
    }
    //返回最终结果
    return $arr;
}

以上是关于php 四种基础算法 ---- 选择排序法的主要内容,如果未能解决你的问题,请参考以下文章

php四种基础算法:冒泡,选择,插入和快速排序法

php 四种基础算法 ---- 选择排序法

php四种基础算法:冒泡,选择,插入和快速排序法

PHP四种基础算法详解

PHP四种基础算法详解(从小到大)

PHP 四种基本排序算法的代码实现