zoukankan      html  css  js  c++  java
  • 快速排序算法

    <?php 
    function quickSort($arr) {
    
        //先判断是否需要继续进行
    
        $length = count($arr);
    
        if($length <= 1) {
    
            return $arr;
    
        }
    
        //选择第一个元素作为基准
    
        $base_num = $arr[0];
    
        //遍历除了标尺外的所有元素,按照大小关系放入两个数组内
    
        //初始化两个数组
    
        $left_array = array();  //小于基准的
    
        $right_array = array();  //大于基准的
    
        for($i=1; $i<$length; $i++) {
    
            if($base_num > $arr[$i]) {
    
                //放入左边数组
    
                $left_array[] = $arr[$i];
    
            } else {
    
                //放入右边
    
                $right_array[] = $arr[$i];
    
            }
    
        }
    
        //再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数
    
        $left_array = quickSort($left_array);
    
        $right_array = quickSort($right_array);
    
        //合并
    
      
    
        return array_merge($left_array, array($base_num), $right_array);
    
    }
    $arr =[345,12,566,11,777];
    var_dump(quickSort($arr));die;

    array(5) { [0]=> int(11) [1]=> int(12) [2]=> int(345) [3]=> int(566) [4]=> int(777) }

  • 相关阅读:
    文件的上传
    JSP基础知识
    AJAX
    Listener
    Filter(一)
    session
    网络爬虫(9)-xpath解析
    网络爬虫(8)-正则表达式
    网络爬虫(7)-beautifulSoup解析库
    网络爬虫(6)-Requests库
  • 原文地址:https://www.cnblogs.com/kevin-yang123/p/14061061.html
Copyright © 2011-2022 走看看