插入排序总结
<?php
/*
* 插入排序算法,
*
* 实际上3,4,5,2 实际上是把3,4,5往后移,然后腾出2的位置,把2放进去
*/
$s_time = microtime(true);
//插入排序 按从小到大排序
$insert=array();
for($i=0;$i<100;$i++)
{
$insert[$i]=rand(0,30000);
}
//print_r($insert);
function insertsort(&$arr)
{
//插入排序把第一个当做是有序的 所以 i从1开始
for($i=1;$i<count($arr);$i++)
{
$insertval=$arr[$i];
$insertindex=$i-1;
//寻找插入点
while($insertindex>=0&&$insertval<$arr[$insertindex])
{ //往后移数字
$arr[$insertindex+1]=$arr[$insertindex];
$insertindex--;
}
//插入值
$arr[$insertindex+1]=$insertval;
}
}
insertsort($insert);
$e_time = microtime(true);
echo ($e_time-$s_time)*1000;
print_r($insert);
?>
本文介绍了一种经典的排序算法——插入排序,并通过PHP代码实现。详细解释了如何将一个无序数组通过不断比较和元素移动来达到完全有序的过程。
2713

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



