插入排序總結php
<?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); ?>