选择排序算法

原理: 循环数组,每次取出最值的index下标,并存放至队首。

function select_sort($array) {
	$length = count($array);
	for ($i=0; $i<$length; $i++) {
        //找出最小值
		$min = $i;
		echo '循环开始值-->'.$array[$min];
		for ($j=$i+1; $j<$length-1; $j++) {
			if ($array[$min] > $array[$j]) {
				$min = $j;
			}
		}
		echo ' <||> 本次循环最小值-->'.$array[$min].'<br>';
		if ($min != $i) {
			$temp = $array[$min];
			$array[$min] = $array[$i];
			$array[$i] = $temp;
		}
	}
	return $array;
}
$cc = select_sort(array(4,3,5,2,1,6));
echo '<pre>';
print_r($cc);
//输出
循环开始值-->4 <||> 本次循环最小值-->1
循环开始值-->3 <||> 本次循环最小值-->2
循环开始值-->5 <||> 本次循环最小值-->3
循环开始值-->5 <||> 本次循环最小值-->4
循环开始值-->5 <||> 本次循环最小值-->5
循环开始值-->6 <||> 本次循环最小值-->6
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
点赞