php选择排序算法源码

【选择排序(一维数组)】

【基本思想】:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

【示例】:

[初始关键字] [49 38 65 97 76 13 27 49]

第一趟排序后 13 [38 65 97 76 49 27 49]

第二趟排序后 13 27 [65 97 76 49 38 49]

第三趟排序后 13 27 38 [97 76 49 65 49]

第四趟排序后 13 27 38 49 [49 97 65 76]

第五趟排序后 13 27 38 49 49 [97 97 76]

第六趟排序后 13 27 38 49 49 76 [76 97]

第七趟排序后 13 27 38 49 49 76 76 [ 97]

最后排序结果 13 27 38 49 49 76 76 97

function select_sort($arr){

$count = count($arr);

for($i=0; $i<$count; $i++){

$k = $i;

for($j=$i+1; $j<$count; $j++){

if ($arr[$k] > $arr[$j])

$k = $j;

}

if($k != $i){

$tmp = $arr[$i];

$arr[$i] = $arr[$k];

$arr[$k] = $tmp;

}

}

return $arr;

}

发表评论

返回顶部