当前位置: 首页 > 文章 > PHP选择排序算法

PHP选择排序算法

[ PHP ] 2019-12-28 00:42:42 杨歆 395
<?php
/**
 * 思路分析:
 * 在要排序的一组数中,选出最小的一个数与第一个位置的数交换。
 * 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
 * @param $array
 * @return mixed
 */

$array = [1, 3, 34, 2, 32, 2, 78, 43, 53, 35, 10, 70, 89, 102, 60];

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

var_dump(selectSort($array));
支付宝支付
打赏
微信支付

联系我吧

有些人是会淡出你的生活的,有些人刻意不再联系,是因为你知道ta不需要你,或者从一开始就不是同一个初衷在一起度过,不主动联系很久也不见一次面,所有的感情也罢,都会败给时间和距离。因为时间是最无情,给你后悔的时刻却不会给你改过重来的机会。

位置

成都市 四川省 中国

联系电话

028-6406-0000

邮箱

y139w@163.com

企鹅

27572048

网址

https://www.weania.com