php常见排序算去,PHP兑现常见排序算法
PHP实现常见排序算法
//插入排序(一维数组)
function insert_sort($arr){
$count = count($arr);
for($i=1; $i
$tmp = $arr[$i];
$j = $i - 1;
while($arr[$j] > $tmp){
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
$j--;
}
}
return $arr;
}
//选择排序(一维数组)
function select_sort($arr){
$count = count($arr);
for($i=0; $i
$k = $i;
for($j=$i+1; $j
if ($arr[$k] > $arr[$j])
$k = $j;
if ($k != $i){
$tmp = $arr[$i];
$arr[$i] = $arr[$k];
$arr[$k] = $tmp;
}
}
}
return $arr;
}
//冒泡排序(一维数组)
function bubble_sort($array){
$count = count($array);
if ($count <= 0) return false;
for($i=0; $i
for($j=$count-1; $j>$i; $j--){
if ($array[$j] < $array[$j-1]){
$tmp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $tmp;
}
}
}
return $array;
}
//快速排序(一维数组)
function quick_sort($array){
if (count($array) <= 1) return $array;
$key = $array[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i
if ($array[$i] <= $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
?>
php常见排序算去,PHP兑现常见排序算法相关推荐
- java 排序算法面试题_面试题: java中常见的排序算法的实现及比较
1.冒泡排序 1.1 冒泡排序普通版 每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较,若小于相邻元素,则交换两者位置,同时将较大元素作为下一个比较的基准元素,继续将该元素与其相邻 ...
- 【数据结构---排序】庖丁解牛式剖析常见的排序算法
排序算法 一.常见的排序算法 二.常见排序算法的实现 1. 直接插入排序 2. 希尔排序 3. 直接选择排序 4. 堆排序 5. 冒泡排序 6. 快速排序 6.1 递归实现快速排序 思路一.hoare ...
- 选择排序稳定吗_最常见的四种数据结构排序算法你不知道?年末怎么跳槽涨薪...
前言 在学习数据结构的时候必然接触过排序算法,而且在日常开发中相信排序算法用得也比较多.而排序算法众多,各个效率又不同,难以记住.小编今天会介绍一些常用排序算法的特点和实现,对比不同排序算法的效率. ...
- leetcode常见经典算法面试题及答案汇总
精心整理了leetcode常见经典算法面试题及答案,实现语言为python和c++,整理在这里主要是为了面试前复习使用,希望对您有所帮助,题目比较多建议您先收藏 题目:1.求缺失的第一个正数;2. 字 ...
- 常见的五种排序,冒泡排序,选择排序,插入排序,并归排序,快速排序
冒泡排序 冒泡排序介绍: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地跑过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小)那么它就会按照大到小的 ...
- 一份清晰又全面的排序算法攻略
本文转载自公众号 五分钟学算法 作者 | 不该相遇在秋天 责编 | 程序员小吴 前言 本文全长 14237 字,配有 70 张图片和动画,和你一起一步步看懂排序算法的运行过程. 预计阅读时间 47 ...
- python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...
本文源自微信公众号[Python编程和深度学习]原文链接:经典排序算法和Python详解之(一)选择排序和二元选择排序,欢迎扫码关注鸭! 扫它!扫它!扫它 排序算法是<数据结构与算法>中最 ...
- 电脑常见故障排除_中央空调常见故障解析
一.中央空调故障解析与维修 1.机器露点温度正常或偏低,室内降温慢产生原因及解决方法 ① 送风量小于设计值,换气次数少,请检查风机型号是否符合设计要求,叶轮转向是否正确,皮带是否松弛,开大送风阀门,消 ...
- php排序算法面试题,PHP面试:尽可能多的说出你知道的排序算法
预警 本文适合对于排序算法不太了解的新手同学观看,大佬直接忽略即可.因为考虑到连贯性,所以篇幅较长.老铁们看完需要大概一个小时,但是从入门到完全理解可能需要10个小时(哈哈哈,以我自己的经历来计算的) ...
最新文章
- 大数据之-Hadoop伪分布式_配置日志聚集---大数据之hadoop工作笔记0028
- 凸函数与简森不等式(Jensen's inequality)
- 记一次被200G流量 DDOS攻击的处理经验
- 远程登陆cisco防火墙
- 【渝粤题库】陕西师范大学164113 电子支付 作业(专升本)
- git - 1.基础
- 决策树与随机森林Adaboost算法
- 当极客 (Geek) 遇到呆瓜 (Nerd)
- iOS-获取手机健康步数,去除人为添加的数据
- Adobe Photoshop CS6图片无法拖入解决方法
- jq实现复制文本功能
- 与日历有关的小程序推荐
- 那个炒币,8小时赚了一辆法拉利的女大学生,现在怎么样了?
- 如何查看手机、电脑设备配置?快来了解下你的电脑和手机吧~ 解读系统配置-cmd的简单应用
- C++ 数据结构(三)列表(3)有序列表
- (四) 开集识别学习 open-set recognition(OSR)
- java new url()_Java(4)URL - SegmentFault 思否
- 【转】HtmlUnit入门教程
- Kotlin Android 环境搭建
- i.MX6模组MYC-6ULX使用
热门文章
- 模仿滴滴单车解锁的时候,从0%到90%的欺骗加载动画效果
- ATS日志格式中的Squid-和Netscape-格式的缓存结果码
- Python - 在CentOS7.5系统中安装Python3
- mui ios中form表单中点击输入框头部导航栏被推起及ios中form表单中同时存在日期选择及输入框时,日历选择页面错乱bug...
- .net 去除特殊字符
- Tensorflow多线程输入数据处理框架(一)——队列与多线程
- 后台的代理nginx部署方法
- javascript数组集锦
- C++中typedef和define的区别
- 变量的属性(全局变量、局部变量、动态变量、静态变量等)