美文网首页
PHP实现排序算法简单好用容易理解

PHP实现排序算法简单好用容易理解

作者: 南苑bert | 来源:发表于2020-03-19 00:16 被阅读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);


image

相关文章

网友评论

      本文标题:PHP实现排序算法简单好用容易理解

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