PHP算法-插入排序

/**
 * 插入排序
 *
 * @param Array $arr            
 */
function insert_sort($arr)
{
    $count = count($arr);
    for ($i = 1; $i < $count; $i ++) {
        $tmp = $arr[$i];
        $key = $i - 1;
        while ($key >= 0 && $tmp < $arr[$key]) {
            $arr[$key + 1] = $arr[$key];
            $key --;
        }
        if (($key + 1) != $i)
            $arr[$key + 1] = $tmp;
    }
    return $arr;
}

相关推荐