插入排序总结
<?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);
?>