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

    <?php
    /**
     * Created by PhpStorm.
     * User: brady.wang
     * Date: 2017/11/10
     * Time: 9:45
     */
    
        $arr=array(6,3,8,6,4,3,4,2,9,5,1);
        //函数实现快速排序
        function quick_sort($arr)
        {
            print_r($arr);
            //判断参数是否是一个数组
            if(!is_array($arr)) return false;
            //递归出口:数组长度为1,直接返回数组
            $length=count($arr);
            if($length<=1) return $arr;
            //数组元素有多个,则定义两个空数组
            $left=$right=array();
            //使用for循环进行遍历,把第一个元素当做比较的对象
            for($i=1;$i<$length;$i++)
            {
                //判断当前元素的大小
                if($arr[$i]<$arr[0]){
                    $left[]=$arr[$i];
                }else{
                    $right[]=$arr[$i];
                }
            }
            print_r($left);
            print_r($right);
            echo "<hr>";
            //递归调用
            $left=quick_sort($left);
            $right=quick_sort($right);
            var_dump($left);
            var_dump($right);
            echo "<hr>";
            echo "<hr>";
            //将所有的结果合并
            return array_merge($left,array($arr[0]),$right);
    
    
        }
            //调用
            echo "<pre>";
            print_r(quick_sort($arr));
    

      

  • 相关阅读:
    with check option(视图 )
    @@ERROR
    事务处理
    含有自增序列的表中使用truncate与delete的不同结果
    Oracle中的通配符
    Java方法重载
    java递归方法
    Oracle中的for语句
    Uboot 2014.07 makefile分析
    linux内核目录结构
  • 原文地址:https://www.cnblogs.com/brady-wang/p/7814658.html
Copyright © 2011-2022 走看看