中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

用PHP編寫遞歸排序算法:快速排序和歸并排序

PHP
小樊
83
2024-04-26 20:02:55
欄目: 編程語言

快速排序算法的PHP實現:

function quickSort($arr){
    $length = count($arr);
    
    if($length <= 1){
        return $arr;
    }
    
    $pivot = $arr[0];
    $left = [];
    $right = [];
    
    for($i=1; $i<$length; $i++){
        if($arr[$i] < $pivot){
            $left[] = $arr[$i];
        }else{
            $right[] = $arr[$i];
        }
    }
    
    return array_merge(quickSort($left), [$pivot], quickSort($right));
}

$arr = [3, 6, 8, 10, 1, 2, 1];
$sortedArr = quickSort($arr);

print_r($sortedArr);

歸并排序算法的PHP實現:

function mergeSort($arr){
    $length = count($arr);
    
    if($length <= 1){
        return $arr;
    }
    
    $mid = (int)($length / 2);
    
    $left = array_slice($arr, 0, $mid);
    $right = array_slice($arr, $mid);
    
    $left = mergeSort($left);
    $right = mergeSort($right);
    
    return merge($left, $right);
}

function merge($left, $right){
    $result = [];
    
    while(count($left) > 0 && count($right) > 0){
        if($left[0] < $right[0]){
            array_push($result, array_shift($left));
        }else{
            array_push($result, array_shift($right));
        }
    }
    
    while(count($left) > 0){
        array_push($result, array_shift($left));
    }
    
    while(count($right) > 0){
        array_push($result, array_shift($right));
    }
    
    return $result;
}

$arr = [3, 6, 8, 10, 1, 2, 1];
$sortedArr = mergeSort($arr);

print_r($sortedArr);

0
抚宁县| 马公市| 江达县| 陆丰市| 梓潼县| 广安市| 滨州市| 广水市| 如皋市| 房山区| 曲靖市| 凌海市| 金沙县| 鹤山市| 礼泉县| 连云港市| 南汇区| 隆德县| 海阳市| 凭祥市| 秦皇岛市| 来宾市| 陆良县| 靖远县| 汝城县| 许昌市| 平顶山市| 铜陵市| 页游| 镇雄县| 黄梅县| 达拉特旗| 桦甸市| 疏附县| 大厂| 盐津县| 双桥区| 嵊州市| 泰州市| 遵义市| 额济纳旗|