php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > PHP个人博客专栏 >

排序算法和查找算法

时间:2019-03-21 20:00来源:未知 作者:admin 点击:
二分查找算法 ?php function binarySearch ($list, $item) { $low = 0; $high = count($list) - 1; while ($low $high) { $min = ($low + $high) / 2; $val = $list[$min]; if ($val == $item) { return floor($min); } if ($val $item) { $low = $min
二分查找算法
<?php
function binarySearch ($list, $item)
{
    $low = 0;
    $high = count($list) - 1;
    while ($low < $high) {
        $min = ($low + $high) / 2;
        $val = $list[$min];
        if ($val == $item) {
            return floor($min);
        }
        if ($val < $item) {
            $low = $min + 1;
        } else {
            $high = $min - 1;
        }
    }
    return null;
}
$arr = [2, 4, 7, 8, 18];
$item = 8;
echo binarySearch($arr, $item) . PHP_EOL;
 
 
快速排序算法
<?php
function quickSort ($list)
{
    $len = count($list);
    if ($len < 2) {
        return $list;
    }
    $index = $list[0];
    $min = [];
    $max = [];
    for ($i = 1; $i < $len; $i++) {
        if ($index > $list[$i]) {
            $min[] = $list[$i];
        } else {
            $max[] = $list[$i];
        }
    }
    $min = quickSort($min);
    $max = quickSort($max);
    return array_merge($min, [$index], $max);
}
$arr = [3, 8, 6, 1, 2, 9];
print_r(quickSort($arr));
 
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐