首页 > 编程语言 >php快速排序和冒泡排序

php快速排序和冒泡排序

时间:2023-03-07 15:23:28浏览次数:40  
标签:php 快速 排序 冒泡排序

<?php
function maopao($arr){
    if(!is_array($arr)){
        return $arr;
    }
    $count=count($arr);
    if($count<=1){
        return $arr;
    }
    for($i=1;$i<$count;$i++){
        for($j=1;$j<$count-1;$j++){
            if($arr[$j]<$arr[$j-1]){
                $temp=$arr[$j];
                $arr[$j]=$arr[$j-1];
                $arr[$j-1]=$temp;
            }
        }
    }
    return $arr;
}

function Quick($data){
    $count_num =count($data);
    if($count_num<=1){
        return $data;
    }
    $base_data =$data[0];
    $left_data=$right_data=[];
    for($i=1;$i<$count_num;$i++){
        if($data[$i]<$base_data){
            $left_data[]=$data[$i];
        }else{
            $right_data[]=$data[$i];
        }
    }
    //递归调用
    $left =Quick($left_data);
    $right=Quick($right_data);
    return array_merge($left,[$base_data],$right);

}
$arr =[1,3,5,4,2,10];
var_dump("maopao",maopao($arr));
var_dump("quick",Quick($arr));die;

 

标签:php,快速,排序,冒泡排序
From: https://www.cnblogs.com/kevin-yang123/p/17188218.html

相关文章

  • 排序算法
    https://github.com/hustcc/JS-Sorting-Algorithm排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进......
  • PHP serialize & JSON 解析
    对于JSON(JavaScript​ ObjectNotation)大家应该不陌生,它是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLang......
  • php 将分钟前/小时前转为日期
    $startTime=date("Y-m-dH:i:s");if(strpos($date,'分钟前')!==false){$dtime=strstr($date,'分钟前',true);$mstr=$......
  • 织梦显示模板的PHP代码
    require_once("../include/common.inc.php");require(dirname(__FILE__)."/config.php");require_onceDEDEINC."/arc.partview.class.php";$pv=newPartView();......
  • 【黄啊码】浅谈PHP入门|如何学习PHP
    大家好,我是黄啊码,很多小白问我,怎么入门PHP,甚至连PHP能干嘛都不知道,今天啊码就具体来讲讲。什么是PHPPHP是一种开源的通用脚本语言,用于创建动态网页和应用程序。它可以运行在......
  • PHP过滤表单字段
    PHP过滤表单字段函数名  释义 介绍htmlspecialchars将与、单双引号、大于和小于号化成HTML格式&转成&amp; "转成"'转成'<转成<>转成>htmlentities()所有字符都转成......
  • php的pcre使用的NFA引擎可利用pcre.backtrack_limit(最大回溯次数)返回false绕过
    看P神的文章,学习web安全知识的前沿技术栈和各种tricks,这真是一个充满乐趣的过程。这是codebreaking上的第二题:pcrewaf首先先回顾一下php文件上传的相关代码:前端form表......
  • 拓扑排序的妙用
    拓扑排序的妙用 F-EndlessWalk题意:给定一个有向图,和一个条件:从某个点出发,能无限前进。问满足条件的点的个数。分析:环上的点和能进入环的道路上的点符合无限前进的......
  • java8 分组排序
    //先根据姓名分组再根据分数排序Map<String,List<Student>>map1=listAll.stream().collect(Collectors.groupingBy(Student::getName,HashMap::new,Colle......
  • 【NOI2018】冒泡排序
    【NOI2018】冒泡排序Description最近,小S对冒泡排序产生了浓厚的兴趣。为了问题简单,小S只研究对\(1\)到\(n\)的排列的冒泡排序。下面是对冒泡排序的算法描述。......