插入排序
原理
- 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。
先将排序元素的前两个元素排序,然后将第三个元素插入已经排序好的两个元素中,所以这三个元素依然是从小到大排序,接着讲第四个元素插入,重复操作直到所有元素都排好序
PHP实现
function insert($arr)
{
if (!is_array($arr) || empty($arr)) {
return $arr;
}
for ($i = 1, $len = count($arr); $i < $len; $i++) {
// 当前需要比较的临时数
$tmp = $arr[$i];
// 循环比较临时数所在位置前面的数
for ($j = $i - 1; $j >= 0; $j--) {
if ($arr[$j] > $tmp) {
$arr[$j + 1] = $arr[$j];
$arr[$j] = $tmp;
}
}
return $arr;
}
}
本作品采用《CC 协议》,转载必须注明作者和本文链接