//插入排序
function insert_sort($arr){
$len = count($arr);
for($i = 1;$i < $len;$i++){
for($j = $i - 1;$j >= 0;$j--){
//插入的元素较小,交换位置
if($arr[$i] < $arr[$j]){
$arr[$j+1] = $arr[$j];
$arr[$j] = $arr[$i];
}else{
//前面的数字已经有序,不需要再次比较
break;
}
}
}
return $arr;
}
//最坏时间复杂度 O(n^2)
//最好时间复杂度 O(n)
//空间复杂度 O(1)
$arr = array(46,32,1,46,35,90,75,462,7,731);
print_r(insert_sort($arr));
php实现直接插入排序
最新推荐文章于 2023-04-21 23:37:21 发布