您的当前位置:首页正文

php中的算法有哪些?

2024-07-18 来源:划驼旅游


 

算法的使用,在实例操作中还是不明显的,但是在面试中,那就是座上宾客,经常能在面试中被遇到,最常见的问题也是排序算法和查找算法,另外还有字符串的处理以及数组处理也是经常被问到的话题,下面就部分常见的算法的问题,给大家简单介绍这些常见的算法基本使用,大家可以补全学习哦~

1、快速排序

实例演示:

<?php
function quickSort($arr)
{
$count = count($arr);   
    if ($count <= 1) { 
        return $arr;
    }
    $index = $arr[0];
    $left = [];  
    $right = [];  
    for ($i = 1; $i < $count; $i++) {  
        if ($arr[$i] < $index) {  
            $left[] = $arr[$i];
        } else {               
            $right[] = $arr[$i];
        }
    }
    $left = quickSort($left);    
    $right = quickSort($right);    
    return array_merge($left, [$arr[0]], $right);  
}
$arrtest = [12, 43, 54, 33, 23, 14, 44, 53, 10, 3, 56]; 
$res = quickSort($arrtest);
var_dump($res);

2、冒泡排序

<?php
function bubbleSort($arr)
{
    $count = count($arr);    
    for ($i = 1; $i < $count; $i++) {      
        for ($j = 0; $j < $count - $i; $j++) {  
            if ($arr[$j] > $arr[$j + 1]) {
                $temp = $arr[$j];           
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $temp;
            }

3、快速查找

<?php
function getQuick($arr)
{
    $len = count($arr);
    if ($len <= 1) {
        return $arr;
    }
    $num = $arr[0];
    $big = array();
    $small = array();
    foreach ($arr as $v) {
        if ($v > $num)
            $big[] = $v; 
        if ($v < $num)
            $small[] = $v;   
    }

当然还有二分查找、优惠券排序等等,就几个常见的面试题,大家可以多了解上述内容进行学习哦~

显示全文
7.566372s