欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 常见算法【冒泡排序, 快速排序, 插入排序, 取舍排序, 二分法查找, .】

程序员文章站 2022-06-05 19:29:52
...
PHP 常见算法【冒泡排序, 快速排序, 插入排序, 选择排序, 二分法查找, ..】
// 冒泡排序
function bubblesort($arr) {
    for($i=0,$j=count($arr); $i$i; $k--) {
            if ($arr[$k] 
// 快速排序
function quicksort($arr) {
    if(($count = count($arr)) 
// 插入排序
function insertsort($arr) {
    for($i=1, $j=count($arr); $i 0 && $arr[$k-1] > $arr[$k]) {
            list($arr[$k], $arr[$k-1]) = array($arr[$k-1], $arr[$k]);
            $k--;
        }
    }
    return $arr;
}

$array=array(10,8,7,5,1,2,3,4);
print_r(insertsort($array));

?

// 选择排序, (非递归)
function selectsort($arr) {
    for($i=0, $j=count($arr); $i $arr[$k]) {
                $min = $k;
                $temp = $arr[$k];
            }
        } 
        if($min != $i) list($arr[$min], $arr[$i]) = array($arr[$i], $arr[$min]);
    }
    return $arr;
}

$arr = array(9,3,11,23,90,99,12,34,22,87,32);
print_r(selectsort($arr));

?

// 选择排序(递归实现)
function selectsort2($arr, $start = 0) {
    if(($count = count($arr)) == $start + 1) return $arr;
    $new = array();
    $min = $arr[$start];
    $min_index = $start;
    for($i=$start+1; $i
?

?

?

 $base) return binarysearch($arr, $value, $index+1, $end);
    else return $index;
}

$arr = array(1, 3, 5, 6, 7, 8, 10, 12, 14, 16, 18, 20);
$value = 8;
echo binarysearch($arr, $value);
?

待续...

PHP 常见算法【冒泡排序,  快速排序, 插入排序, 取舍排序, 二分法查找, .】

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频