插入排序

原理

  • 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。

    先将排序元素的前两个元素排序,然后将第三个元素插入已经排序好的两个元素中,所以这三个元素依然是从小到大排序,接着讲第四个元素插入,重复操作直到所有元素都排好序

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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!