PHP选择排序算法

说明:

  通过假设一个最小数的key,来逐个比较后面的值,如果假设的值大于后面的值,则互换位置。

示例:

<?php

$a = array(2,13,42,34,56,23,67,365,87665,54,68,3);

// 大循环,控制轮数
for ($i=0; $i < count($a); $i++) {

    $p = $i; // 假设的最小值的KEY

    // 小循环,逐个比较后面的值
    for ($j=$i+1; $j < count($a); $j++) { 
        if ($a[$p] > $a[$j]) {
            $p = $j; // 交换key
        }
    }

    // 不相同,则互换位置
    if ($p != $i) {
        $tem = $a[$i];
        $a[$i] = $a[$p];
        $a[$p] = $tem;
    }
}
print_r($a);

结果:

原文地址:https://www.cnblogs.com/chenhaoyu/p/9093142.html