思路分析:核心就是区分出已经排序好的,和没有排序的,以第一个元素为有序部分,从第二个元素开始,循环与有序部分对比,插入到有序位置,形成新的有序部分,外层$i控制轮数,循环将无序部分的元素挨个与有序元素部分进行对比插入,
$arr = array(9,3,4,1,7,10,8,2,5,6);function insert_sort($array){$len=count($array);if($len<=0){echo '数组不能为空';return;}for($i=1;$i<=$len-1;$i++){- //外层循环控制轮数,获取当前要对比的元素,在内层,将该元素与有序部分循环对比,并插入
$temp = $array[$i];for($j=$i-1;$j>=0;$j--){if($temp<$array[$j]){$array[$j+1] = $array[$j];}else{break;}}$array[$j+1] = $temp;}return $array;}echo "<pre>";print_r(insert_sort($arr));echo "</pre>";
本文详细介绍了一种经典的排序算法——插入排序。通过实例演示了如何逐步将无序数组中的元素插入到已排序的部分,最终实现整个数组的排序。适用于初学者理解和掌握基本的排序算法原理。
795

被折叠的 条评论
为什么被折叠?



