php实现插入排序
<?php
/**
*插入排序
*@paramArray$a无序集合
*@returnArray有序集合
*/
functioninsertSort($a){
$temp;
$i;
$j;
$size_a=count($a);
#从第二个元素开始
for($i=1;$i<$size_a;$i++){
if($a[$i]<$a[$i-1]){
$j=$i;#保存当前元素的位置
$temp=$a[$i];#当前元素的值
#比较左边的元素,如果找到比自己更小的,向右移动元素,否则插入元素到当前位置
while($j>0&&$temp<$a[$j-1]){
$a[$j]=$a[$j-1];
$j--;
}
#插入元素
$a[$j]=$temp;
}
}
return$a;
}
/**
*获取随机数
*@paramInteger$size数量
*@returnInteger
*/
functionrandomNumber($size=10){
$rand=array();
srand(time(NULL));
for($i=0;$i<$size;$i++){
array_push($rand,mt_rand(0,1000));
}
return$rand;
}
$a=randomNumber();
echosprintf("Unsortedlist%s\n",implode("",$a));
echosprintf("Sortedlist%s\n",implode("",insertSort($a)));
以上就是本文所述的全部内容了,希望大家能够喜欢。