美文网首页
PHP简单排序算法(sort)

PHP简单排序算法(sort)

作者: 南苑bert | 来源:发表于2020-03-18 17:08 被阅读0次

    PHP排序,是我们锻炼逻辑必不可少的,不会可以QQ联系 2817228206。相互学习。

    <?php

    class r{

    static public $arr = []; // 目标数组

    static public $arrlen = 0; // 数组长度

    static public $row = [];  // 输出数组

    static public $ascoo = 1; // sort|resort

    function __construct($arr,$t=1){

    self::$arr = $arr;

    self::$arrlen = count($arr);

    self::$ascoo = ($t==1) ? 1:0;

    }

    // 选出最大数组最大的值

    function numSum($arr){

    $e = [];

    // 选出还剩最后1个的时候直接return

    if(count($arr)==1){

    return ["key"=>array_keys($arr)[0],"val"=>array_values($arr)[0]];

    }

    // 选出最大值

    for($i = 0; $i < count($arr); $i++){

    for($n = 0; $n < count($arr); $n++){

    if($arr[$n] > $arr[$i] and $arr[$n]>$e['val']){

    $e['val'] = $arr[$n];

    $e['key'] = $n;

    }

    }

    }

    return $e;

    }

    function allSort(){

    for($i = 0;$i<self::$arrlen;$i++){

    // 取出数组的

    $res = $this->numSum(self::$arr);

    // sort|resort

    if(self::$ascoo==1){

    array_push(self::$row,$res['val']);

    }else{

    array_unshift(self::$row,$res['val']);

    }

    // 删除数组的最大值的(循环一次删除一次)

    array_splice(self::$arr,$res['key'],1);

    }

    return self::$row;

    }

    }

    $row  = [7,5,4,12,4,1];

    // new r($row,[1/0]). 默认1

    $r = new r($row);

    $r = $r->allSort();

    var_dump($r);

    相关文章

      网友评论

          本文标题:PHP简单排序算法(sort)

          本文链接:https://www.haomeiwen.com/subject/rijcyhtx.html