zoukankan      html  css  js  c++  java
  • php常见排序

    public function actionQuickSort()
    {
    $arr = ['5', '4', '3', '2', '1', '0'];
    $quickRes = $this->quickSortInner($arr);
    $selectRes = $this->selectSort($arr);
    $insertRes = $this->insertSort($arr);
    var_dump($insertRes);
    }

    private function quickSortInner($arr)
    {
    if(!is_array($arr)){
    return false;
    }
    $length = count($arr);
    if($length <= 1){
    return $arr;//快速排序的出口 判断数组的长度
    }
    $left = array(); //左数组
    $right = array(); //右数组
    for($i = 0;$i < $length;$i++){
    if($arr[$i] < $arr[0]){
    $left[] = $arr[$i];
    }else{
    $right[] = $arr[$i];
    }
    }
    $left = $this->quickSortInner($left);
    $right = $this->quickSortInner($right);
    return array_merge($left, $right);
    }

    private function selectSort($arr)
    {
    if(!is_array($arr)){
    return false;
    } $length = count($arr); if($length < 1){ return false; } for($i = 0;$i < $length;$i++){ $m = $i; for($j=$i+1;$j<$length;$j++){ if($arr[$m]>$arr[$j]){ $m=$j; } } if($arr[$i] != $arr[$m]){ $tmp = $arr[$m]; $arr[$m] = $arr[$i]; $arr[$i] = $tmp; } } return $arr;}public function insertSort($arr){ if(!is_array($arr)){ return false; } $length = count($arr); if($length < 1){ return $arr; } for($i = 1;$i<$length;$i++){ $tmp = $arr[$i]; for($j=$i-1;$j>0; $j--){ if($arr[$j]>$tmp){ $arr[$j+1] = $arr[$j] $arr[$j] = $tmp; }else{ break; }; } } return $arr;}
  • 相关阅读:
    JavaBasics-15-多线程
    4.10 SpringCloud微服务技术栈
    4.3 Linux操作系统_Unix操作系统
    4.2 互联网项目架构演进
    4.1 微服务框架_引言
    4.6 Redis
    SpringBoot
    docker-dockerfile实战构建文件
    docker 安装私有仓库 registry(离线)
    基础K8S搭建(20209.08亲测成功)
  • 原文地址:https://www.cnblogs.com/jasonxiaoqinde/p/7682667.html
Copyright © 2011-2022 走看看