插入排序就像扑克排序,从未排序的序列选第一张牌,插入到已排序的牌堆里的合适位置。
function insert(&$arr){
for($i = 1; $i < count($arr); $i++){//认为第一个位置是已排序序列,从第二个开始逐一选择插入
if($arr[$i] < $arr[$i-1]){
$temp = $arr[$i];
//已排序的序列逐个往右移,直到找到合适位置
for($j = $i - 1; $j>=0&&$arr[$j]>$temp; $j--){
$arr[$j+1] = $arr[$j];
}
$arr[$j+1] = $temp;
}
}
}