折半排序 (稳定的排序)
$arr=array('','7','9','11','2','5','13','10','14','12');
$n=count($arr);
for($i=2;$i<$n;$i++)
{
$low=1;$high=$i-1;
$arr[0]=$arr[$i];
while($low<=$high)
{
$m=intval(($low+$high)/2);
if($arr[$m]>$arr[0])
$high=$m-1;
else
$low=$m+1;
}
for($j=$i-1;$j>=$high+1;$j--)
{
$arr[$j+1]=$arr[$j];
}
$arr[$high+1]=$arr[0];
}
print_r($arr);