php排序算法有哪些(手机php编程软件推荐)

作为一名合格的PHPer怎么能不接触到算法这个高大上的东西了,今天就来针对初学者来说一说最基础的4种排序算法:冒泡排序、选择排序、插入排序、快速排序(分区排序)。 冒牌排序 核心思想:比较相邻两个元素的大小,如果左边大于右边,则调换两个元素的位置; 缺点:需要将数组中的每一个元素都进行对比,耗时较长 $array=[5,10,3,4,2,8,7,9,11]; $length=count($…

作为一名合格的PHPer怎能不了解到优化算法这一高端大气的东西了,今日就来对于新手而言一说最根本的4种排序优化算法:气泡排序、挑选排序、插进排序、迅速排序(系统分区排序)。


假冒排序

核心内容:较为邻近2个元素的尺寸,假如左侧超过右侧,则替换2个元素的部位;

缺陷:必须将字符串中的每一个元素都开展比照,用时较长

$array = [5,10,3,4,2,8,7,9,11];
$length = count($array);
//第一层操纵循环系统的频次,元素有多少个就必须循坏几回
for ($i = 1; $i < $length; $i  ) {

    //第二层循环系统较为邻近元素的尺寸,替换部位
    for ($j = 0; $j < $length - $i; $j  ) {
        if ($array[$j] > $array[$j   1]) {
            $tmp           = $array[$j   1];    //临时性储存,更换二者部位
            $array[$j   1] = $array[$j];
            $array[$j]     = $tmp;
        }
    }
}
return $array;

挑选排序

核心内容:取后一位元素与现阶段元素比照,随后将小的元素插进到顶端部位

$array = [5,10,3,4,2,8,7,9,11];
$length = count($array);
//第一层操纵循环系统的频次,元素有多少个就必须循坏几回
    for ($i = 0; $i < $length - 1; $i  ) {
        $p = $i;    //假定现阶段元素是最少元素的字符;
        //第二层循环系统从下一个元素逐渐较为
        //留意这儿的逐渐部位是以标准元素的下一个部位逐渐的
        //可以觉得之前的元素是已经排序完成了
        for ($j = $i   1; $j < $length; $j  ) {
            //寻找更小的元素字符
            if ($array[$p] > $array[$j]) {
                $p = $j;
            }
        }
        //假如最少元素并不是以前假定的元素,则替换部位
        if ($p != $i) {
            $tmp       = $array[$p];
            $array[$p] = $array[$i];
            $array[$i] = $tmp;
        }
    }
return $array;

插进排序

核心内容:每一次循环系统中,从下一个元素逐渐较为,随后将最少的元素插进到二维数组的最前边(可是为了能更快的特性,大家通常选用更换部位的办法来将最少元素偏移到二维数组的前边)

$array = [5,10,3,4,2,8,7,9,11];
$length = count($array);
//第一层操纵循环系统的频次,元素有多少个就必须循坏几回
    for ($i = 1; $i < $length; $i  ) {
        $tmp = $array[$i];  //纪录现阶段标准元素

        //从基准元素的下一个元素逐渐较为
        for ($j = $i - 1; $j >= 0; $j--) {
            //假如下一个元素比现阶段标准元素要小者替换部位            
            if ($tmp < $array[$j]) {
                $array[$j   1] = $array[$j];
                $array[$j]     = $tmp;
            } else {
                break;
            }
        }

    }
return $array;

迅速排序

核心内容:取随意元素为标准,随后二分递归法一直实行,每一次全是小的左侧,大的右侧。最终将结论合拼

$array = [5,10,3,4,2,8,7,9,11];
//要不是二维数组则停止实行
    if (!is_array($array)) return false;
    $length = count($array);
    //假如二维数组元素低于2个则停止实行
    if ($length <= 1) return $array;
    $left = $right = [];
    //随意取一个元素做为标准元素
    //将低于该标准的元素储放进左侧
    //将超过该标准的元素储放进右侧
    for ($i = 1; $i < $length; $i  ) {
        if ($array[$i] > $array[0]) {
            $right[] = $array[$i];
        } else {
            $left[] = $array[$i];
        }
    }

    //递归法实行
    $left  = quick_sort($left);
    $right = quick_sort($right);

    //将结论合拼
    return array_merge($left, [$array[0]], $right);

最终汇总

经检测,四种方式中迅速排序的特性最大。二维数组取10000个元素,随后各自实行耗费的时长如下图所示

「PHP」常用四种排序算法以及性能对比

在现实研发中,能立即应用到那样编码的情景并不是很多,可是做为程序猿缺务必把握这类开发设计观念逻辑性。假如仅仅完成了业务流程开发设计就没事了得话终究后边的门路会变得越来越难走的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月12日 上午11:33
下一篇 2022年5月12日 上午11:34

相关推荐

  • 吃什么最养胃(6种常见的养胃食物)

    现代人的饮食结构相对比较复杂,加上一些不良的生活习惯,人们稍不加以注意就会让胃承受过多的负担,轻则容易患上胃炎,重则可能会得胃癌。为了预防胃病,我们除了要改正一些不良的饮食习惯之外,还应当多吃点养胃食物,把胃养好。 常见的养胃食物 一、南瓜 南瓜含有比较多的果胶和可溶性纤维,可以很好地保护胃粘膜,减少粗糙食物对胃的伤害,有利于胃溃疡的痊愈。 二、木瓜 木瓜中的蛋白酶能分解蛋白质,促进体内蛋白质的吸…

    2022年10月22日
    480
  • 电商直通车是什么意思,新手应该了解的知识和干货

    现在直通车已经是每个在淘系员工所知基本知道的,所以现在无论是开新铺还是旧店,都是对你最有效的直接帮助。 有些人开直通车如果你问他为什么开,也许他都不知道是为什么开,也就是说没有开车的目的,他开车是看别人都在开他也就开,那我们得先确定你是为了什么而开车! 就我个人而言,我对开直通车有两种看法: 1、拉动自然搜索流量2、做高投产,通过直通车赚钱 1、也是我们许多卖家开直通车的目的,无论是新店没有流量、…

    2022年9月13日
    780
  • 破解qq空间权限软件(qq号查询个人信息网站)

    网友来信: 和男友从大二开始交往,现在已经将近四年了。他从不让我碰他的手机和电脑,没谈过恋爱的我还傻傻的以为“就算恋人也应该有自己的隐私”。前段时间在网上无意中看到了一个破解QQ密码的方法,闲来无事我就想着拿男友的QQ号练手,想着反正现在大家都很少用QQ,就算被我破解了也没什么。可没想到这密码一破解,我们的感情也岌岌可危了。 破解了男友的密码,进入他的空间,映入眼帘的就是铺满了他前女友照片的背景,…

    2022年5月10日
    1040
  • seo关键词如何选择,关键词选取的原则

    对于很多SEO人员来说,优化网站最主要的目的就是做关键词排名,只有关键词得到排名了,才会有流量、订单,然而想要关键词得到排名,首先就是要把关键词选择好,如果关键词没有选择好,就算做到排名首页,也没有多少流量,就更不要说什么订单了。 下面说说如何选择关键词? 一、挖掘大量相关关键词 首先,要想找到合适的关键词。就要找出大量和关键词相关的,大量的相关关键词哪里来呢?以下几个方面可以得到: 1.产品或服…

    2022年8月14日
    490
  • 小红书推出视频号

    继微信视频号,微博视频号之后,国内女性种草社区小红书也推出视频号,杀入视频带货领域,赶紧先去占个坑! 了解到,此次小红书上线视频号,号称会提供百亿流量扶持、还突破了小红书之前平台视频不超过5分钟的限制,跟微信视频号,微博视频号,B站看齐,也支持最长15分钟的视频发布和视频创作合集,同时提供,创作数据共享,运营一对一辅导、品牌商家资源对接、独家签约等功能权限,看起来应该也是奔着着短视频带货的路子去发…

    2022年10月13日
    500
  • 电脑怎么安装系统(附:U盘傻瓜式装系统的方法)

    开开心心的组装好自己第一天新电脑,那种成就感,大家都懂。还记得当初自己想要组装电脑的想法吗?没错,你实现了,给你点赞! 第一次开机的情景 激动地一刻开始了,插上电源,感觉一切就绪,按下开机键,期待地盯着屏幕几秒,弹出Anoperatingsystemwasn'tfound。。。一脸懵逼,没有装系统。 新装机装系统教程 安装前必须提醒下: 新机子新主板不要想着安装Win7系统,基本不支持,除非主板官…

    2022年10月27日
    430
  • 照片恢复免费版下载,真正免费的照片恢复软件推荐

    手机误删照片怎么办?这是很多朋友都遇到的问题。拍了一些照片,一不小心删除掉了,还有没有办法恢复呢?要知道手机用的是闪存,和电脑的机械硬盘相比,数据被删除后要恢复更加困难。不过,其实手机误删照片恢复的办法还是有的,今天,就让小编来介绍一款能够恢复手机照片的安卓App吧! 软件名称:照片恢复(RestoreImage)软件版本:4.7软件大小:3.47MB软件授权:免费适用平台:Android下载地址…

    2022年6月8日
    770
  • 服务营销概念和理论,企业怎样做好服务营销

    服务营销 服务三阶段:售前,售中,售后。售前服务>售后服务 服务的四级:基本服务,渴望服务,物超所值,不可替代的服务。(服务=用心) 服务的目的:让陌生人成为朋友;从一次性消费成为持续性消费和更多的消费。 服务的定义:随时注意身边所有人的需求和渴望,迅速达到所有人的需求和渴望。 一、顾客是什么? 1.顾客是我们企业的生命所在 2.顾客是创造财富的源泉 3.企业生存的基础 4.衣食行住的保障 …

    2022年5月19日
    780
  • 豪华按摩椅哪个牌子好(口碑最好的按摩椅)

    突破想象,打造尖端奢享按摩体验。健康龙头品牌OSIM傲胜超越巅峰灵感设计,由天王刘德华代言的创新科技强打新作OSIM傲胜「4手天王」按摩椅,以高贵典雅的设计感外观,搭配超越业界独具特色的4手按摩科技,再次颠覆大众对按摩椅的想像。以其独有令人惊艳的丰富[娱乐性+科技感]按摩体验,解锁现代都市人的追剧新姿势,奢享科技按摩体验的同时能安心追剧。「4手天王」科技影音设备,让你能更“近距离”的接触刘天王,解…

    2022年10月25日
    340
  • 优惠券app哪个佣金高,淘宝优惠券的app排行

    本人网购剁手党,之前购物都是在淘宝京东搜索直接下单购买,后来发现99%的商家其实都设有大额隐藏优惠券,为的是提高销量打造爆款和提高店铺知名度,很多app可以查找领取隐藏优惠券,用了很多目前留下一个感觉比较好用的。 这个app是我用过包含最全面的,涉及到了生活的方方面面。淘宝天猫,京东,拼多多,美团,饿了么,携程,苏宁等等全部有优惠券,甚至点外卖、订酒店、机票、火车票、充话费也有券。新人免单,一元购…

    2022年6月9日
    870

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信