直接插入排序就是将一个待排序的元素按照大小顺序插入到一个已经排序好的数组中,假设一个有n个元素的无序数组,将进行n-1次的插入既能完成排序。
例如一个有5个元素的无序数组,其将进行4次插入排序,如:$array(15,7,43,22,18)
第一次::$array(15) 将元素7插入该数组,排序后: $array(7,15)
第二次:$array(7,15) 将元素43插入该数组,排序后:$array(7,15,43)
第三次:$array(7,15,43) 将元素22插入该数组,排序后:$array(7,15,22,43)
立即学习“PHP免费学习笔记(深入)”;
第四次:$array(7,15,22,41) 将元素18插入该数组,排序后:$array(7,.15,18,22,43),完成排序。
代码实现如下:
<pre name="code" class="php"><span style="font-size:18px;"><?php
function insert_sort($array){
$count=count($array);
for($i=1;$i<$count;$i++){
if($array[$i-1]>$array[$i]){
$temp=$array[$i];
$j=$i;
while($j>0 && $array[$j-1]>$temp){
$array[$j]=$array[$j-1];
$j--;
}
$array[$j]=$temp;
}
}
return $array;
}
$arr=array(4,1,17,9,88,37,43);
$res=insert_sort($arr);
foreach($res as $key => $values){
echo "key:".($key+1)." value:".$values."<br/>";
}
?>以上就介绍了PHP数据结构(4) 直接插入排序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号