定义排序函数
function insertion_sort($data = array())
{
if(count($data) >= 2) {
for($j=1; $j < count($data); $j++) {
$key = $data[$j];
$i = $j-1;
while($i >= 0 && $data[$i] > $key) {
$data[$i+1] = $data[$i];
$i=$i-1;
}
$data[$i+1] = $key;
}
}
return $data;
}
传入任意一个数组 返回升序排列的数组
因为使用了2次循环比较,时间复杂度 Θ(n²)
难点: while循环之后$i为-1 最后一项相当于 $data[0] = $key 仅个人理解供参考
(246)