• 技术文章 >PHP >PHP教程

    php中的算法有哪些?

    十一十一2021-01-19 10:41:12原创7111


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

    1、快速排序

    实例演示:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    <?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、冒泡排序

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    <?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、快速查找

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    <?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;  

        }

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

    专题推荐:php中的算法有哪些
    上一篇:php中trim函数是什么? 下一篇:php中协程shell_exec如何使用?

    相关文章推荐

    • python中的冒泡排序是什么?• python中的插入排序怎么用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网