/**
* 插入排序算法
*
* 既定前面數字已經排好順序,現在要把第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;
}