/**
* 插入排序算法
*
* 既定前面数字已经排好顺序,现在要把第n个数字插入到前面有序的数组中,使得这n个数字也是有序的放入其中,
* 如此反复循环直至全部排好顺序。
*
* @param array $arr
* @return $arr
*/
function insertSort($arr = array())
{
if(!is_array($arr) || empty($arr))
{
return $arr;
}
$len = count($arr);
for($i=1; $i<$len; $i++) {
$tmp = $arr[$i];
for($j=$i-1;$j>=0;$j--) {
if($tmp < $arr[$j]) {
//比较大小当数字小时交换位置,将后面的数字与前面的数字进行互换操作
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
} else {
//不需要,直接跳过
break;
}
}
}
return $arr;
}
php 插入排序算法
最新推荐文章于 2024-09-14 17:41:03 发布