标签:数据 最小 比较 param 排序算法 一个 循环 fun 复杂度
数据较少时可以用,缺点:时间复杂度n的平方,优点:空间复杂度小
具体实现:
/**
* 选择排序
*
* @param $array
* @return mixed
*/
public function sort($array)
{
$len = count($array);
if ($len === 1) {
return $array;
}
// 循环,假设第一个为最小的,依次和旁边的比较,比较完成就排好序
for ($i = 0; $i < $len - 1; $i++) {
$min = $i;
for ($k = $i + 1; $k < $len; $k++) {
// 当前的值和已知的最小的比较,如果当前值小于最小的值,则当前值为最小值
if ($array[$k] < $array[$min]) {
$min = $k;
}
}
if ($i !== $min) {
$tmp = $array[$min];
$array[$min] = $array[$i];
$array[$i] = $tmp;
}
}
return $array;
}
标签:数据 最小 比较 param 排序算法 一个 循环 fun 复杂度
原文地址:https://www.cnblogs.com/alisleepy/p/14998773.html