PHP排序算法(插入,选择,交换,冒泡,快速)
2023-09-14 08:59:48 时间
// 如果当前值小于前一个值切未到数组开始位置
while (($iPos = 0) ($iTemp $arr[$iPos])) {
// 把前一个的值往后放一位
$arr[$iPos + 1] = $arr[$iPos];
// 位置递减
$iPos--;
}
$arr[$iPos+1] = $iTemp;
}
return $arr;
// 快速排序
function QuickSort($arr){
$num = count($arr);
$l = $r = 0;
$left = $right = array();
// 从索引的第二个开始遍历数组
for ($i = 1;$i $num; $i++) {
// 如果值小于索引1
if ($arr[$i] $arr[0]) {
// 装入左索引数组(小于索引1的数据)
$left[] = $arr[$i];
$l++;
} else {
// 否则装入右索引中(大于索引1的数据)
$right[] = $arr[$i];
$r++; //
}
}
// 如果左索引有值 则对左索引排序
if($l 1) {
$left = QuickSort($left);
}
// 排序后的数组
$new_arr = $left;
// 将当前数组第一个放到最后
$new_arr[] = $arr[0];
// 如果又索引有值 则对右索引排序
if ($r 1) {
$right = QuickSort($right);
}
// 根据右索引的长度再次增加数据
for($i = 0;$i $i++) {
$new_arr[] = $right[$i];
}
return $new_arr;
【黄啊码】为什么我建议您选择go,而不选择php? 很多开发者都认为php已经是“强弩之末”,是时候转go了,但在此之前,我们先好好了解一下这两者的差别到底在哪,如果连区别都不知道?那还谈什么转语言
常见排序算法及PHP实现 冒泡排序 是一种交换排序,它的基本思想是:对待排序记录从后往前(逆序)进行多遍扫描,当发现相邻两条记录的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,值较小的记录将逐渐从后面向前移动,就像气泡在水中向上浮一样。
开发商城系统是选择PHP还是Java? 在互联网快速发展的今天,越来越多的企业通过开发商城系统来拓展自己的业务,目前商城系统开发的主流语言有两个:PHP语言和JAVA语言,很多企业也会纠结用哪种语言开发的商城更好。
直播后台开发,php直播源码这样选择才不会出错 直播软件根据应用的不同,开发语言也有所不同,安卓系统使用java语言开发;苹果系统使用OC语言;直播管理后台使用的是php语言
PHP 排序算法原理及总结 冒泡排序原理原理描述: 一次比较俩个相邻的元素,大的元素后移,小的元素前移(交换位置)。直到找出最大的元素。就像是气泡一样,大的向下沉,小的向上冒。 有一个无序数组 $arr = [8, 9, 3, 6, 1, 4] 外层循环要元素数 - 1次。
【黄啊码】为什么我建议您选择go,而不选择php? 很多开发者都认为php已经是“强弩之末”,是时候转go了,但在此之前,我们先好好了解一下这两者的差别到底在哪,如果连区别都不知道?那还谈什么转语言
常见排序算法及PHP实现 冒泡排序 是一种交换排序,它的基本思想是:对待排序记录从后往前(逆序)进行多遍扫描,当发现相邻两条记录的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,值较小的记录将逐渐从后面向前移动,就像气泡在水中向上浮一样。
开发商城系统是选择PHP还是Java? 在互联网快速发展的今天,越来越多的企业通过开发商城系统来拓展自己的业务,目前商城系统开发的主流语言有两个:PHP语言和JAVA语言,很多企业也会纠结用哪种语言开发的商城更好。
直播后台开发,php直播源码这样选择才不会出错 直播软件根据应用的不同,开发语言也有所不同,安卓系统使用java语言开发;苹果系统使用OC语言;直播管理后台使用的是php语言
PHP 排序算法原理及总结 冒泡排序原理原理描述: 一次比较俩个相邻的元素,大的元素后移,小的元素前移(交换位置)。直到找出最大的元素。就像是气泡一样,大的向下沉,小的向上冒。 有一个无序数组 $arr = [8, 9, 3, 6, 1, 4] 外层循环要元素数 - 1次。
相关文章
- 使用PHP + Apache访问有错误的php脚本时不报错
- php 使用str_replace替换关键词(兼容字符串,一维数组,多维数组)
- [PHP] 6种负载均衡算法
- PHP多进程系列笔记(二)
- 【转】PHP网站(nginx、php-fpm、mysql) 用户权限解析
- PHP计算一年有多少周,每周开始日期和结束日期
- PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测
- PHP Socket编程 之 php实现http服务
- PHP+swoole实现聊天群发功能
- PHP 中四大经典排序算法
- php:如何使用PHP排序, key为字母+数字的数组(多维数组)
- PHP中获取当前页面的完整URL & php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别
- 修改范围PHP_INI_SYSTEM与PHP_INI_ALL的区别
- PHP采集库-Snoopy.class.php
- C 编写动态链接库PHP DLL
- [PHP] Write UTF-8 file
- Relearning PHP (2) – php 的浮点数float
- [PHP] 如何让 php-fpm 的循环 echo 实时输出到浏览器
- Atitit web httphandler的实现 java python node.js c# net php 目录 1.1. Java 过滤器 servelet1 1.2. Python的
- atitit.木马病毒webshell的原理and设计 java c# .net php.
- Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性 应该内置到语言里面
- Atitit.跨语言反射api 兼容性提升与增强 java c#。Net php js
- Atitit.导出excel报表的设计与实现java .net php 总
- PHP面试题:你所知道的php数组相关的函数?
- PHP面试题:使用PHP描述快速排序算法,对象可以是一个数组?
- 冒泡排序算法 C++和PHP达到
- linux下配置php Apache mysql
- 亲测PHP环境
- linux下php安装php-kafka扩展和php-rdkafka扩展
- PHP curl 封装 GET及POST方法很不错的