美文网首页
PHP插入排序

PHP插入排序

作者: 程序小白菜 | 来源:发表于2019-06-11 14:52 被阅读0次
/**
 * @param array $arr
 * @return array
 */
function insertionSort(array $arr) {
    $len = count($arr);
    if (!$len || empty($arr)) {
        return [];
    }

    for($i = 1; $i < $len; $i ++) {
        //已做到0-i-1位置上有序,现想做到0-i位置上有序
        for($j = $i - 1; $j>=0 && $arr[$j] > $arr[$j+1]; $j--) {
            swap($arr, $j, $j+1);
        }
    }
}

/**
 * @param array $arr
 * @param $first
 * @param $second
 */
function swap(array &$arr, $first, $second) {
    $temp = $arr[$first];
    $arr[$first] = $arr[$second];
    $arr[$second] = temp;
}

相关文章

网友评论

      本文标题:PHP插入排序

      本文链接:https://www.haomeiwen.com/subject/ehrqfctx.html