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兑现常见排序算法相关推荐

  1. java 排序算法面试题_面试题: java中常见的排序算法的实现及比较

    1.冒泡排序 1.1 冒泡排序普通版 每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较,若小于相邻元素,则交换两者位置,同时将较大元素作为下一个比较的基准元素,继续将该元素与其相邻 ...

  2. 【数据结构---排序】庖丁解牛式剖析常见的排序算法

    排序算法 一.常见的排序算法 二.常见排序算法的实现 1. 直接插入排序 2. 希尔排序 3. 直接选择排序 4. 堆排序 5. 冒泡排序 6. 快速排序 6.1 递归实现快速排序 思路一.hoare ...

  3. 选择排序稳定吗_最常见的四种数据结构排序算法你不知道?年末怎么跳槽涨薪...

    前言 在学习数据结构的时候必然接触过排序算法,而且在日常开发中相信排序算法用得也比较多.而排序算法众多,各个效率又不同,难以记住.小编今天会介绍一些常用排序算法的特点和实现,对比不同排序算法的效率. ...

  4. leetcode常见经典算法面试题及答案汇总

    精心整理了leetcode常见经典算法面试题及答案,实现语言为python和c++,整理在这里主要是为了面试前复习使用,希望对您有所帮助,题目比较多建议您先收藏 题目:1.求缺失的第一个正数;2. 字 ...

  5. 常见的五种排序,冒泡排序,选择排序,插入排序,并归排序,快速排序

    冒泡排序 冒泡排序介绍: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地跑过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小)那么它就会按照大到小的 ...

  6. 一份清晰又全面的排序算法攻略

    本文转载自公众号  五分钟学算法 作者 | 不该相遇在秋天 责编 | 程序员小吴 前言 本文全长 14237 字,配有 70 张图片和动画,和你一起一步步看懂排序算法的运行过程. 预计阅读时间 47 ...

  7. python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...

    本文源自微信公众号[Python编程和深度学习]原文链接:经典排序算法和Python详解之(一)选择排序和二元选择排序,欢迎扫码关注鸭! 扫它!扫它!扫它 排序算法是<数据结构与算法>中最 ...

  8. 电脑常见故障排除_中央空调常见故障解析

    一.中央空调故障解析与维修 1.机器露点温度正常或偏低,室内降温慢产生原因及解决方法 ① 送风量小于设计值,换气次数少,请检查风机型号是否符合设计要求,叶轮转向是否正确,皮带是否松弛,开大送风阀门,消 ...

  9. php排序算法面试题,PHP面试:尽可能多的说出你知道的排序算法

    预警 本文适合对于排序算法不太了解的新手同学观看,大佬直接忽略即可.因为考虑到连贯性,所以篇幅较长.老铁们看完需要大概一个小时,但是从入门到完全理解可能需要10个小时(哈哈哈,以我自己的经历来计算的) ...

最新文章

  1. 大数据之-Hadoop伪分布式_配置日志聚集---大数据之hadoop工作笔记0028
  2. 凸函数与简森不等式(Jensen's inequality)
  3. 记一次被200G流量 DDOS攻击的处理经验
  4. 远程登陆cisco防火墙
  5. 【渝粤题库】陕西师范大学164113 电子支付 作业(专升本)
  6. git - 1.基础
  7. 决策树与随机森林Adaboost算法
  8. 当极客 (Geek) 遇到呆瓜 (Nerd)
  9. iOS-获取手机健康步数,去除人为添加的数据
  10. Adobe Photoshop CS6图片无法拖入解决方法
  11. jq实现复制文本功能
  12. 与日历有关的小程序推荐
  13. 那个炒币,8小时赚了一辆法拉利的女大学生,现在怎么样了?
  14. 如何查看手机、电脑设备配置?快来了解下你的电脑和手机吧~ 解读系统配置-cmd的简单应用
  15. C++ 数据结构(三)列表(3)有序列表
  16. (四) 开集识别学习 open-set recognition(OSR)
  17. java new url()_Java(4)URL - SegmentFault 思否
  18. 【转】HtmlUnit入门教程
  19. Kotlin Android 环境搭建
  20. i.MX6模组MYC-6ULX使用

热门文章

  1. 模仿滴滴单车解锁的时候,从0%到90%的欺骗加载动画效果
  2. ATS日志格式中的Squid-和Netscape-格式的缓存结果码
  3. Python - 在CentOS7.5系统中安装Python3
  4. mui ios中form表单中点击输入框头部导航栏被推起及ios中form表单中同时存在日期选择及输入框时,日历选择页面错乱bug...
  5. .net 去除特殊字符
  6. Tensorflow多线程输入数据处理框架(一)——队列与多线程
  7. 后台的代理nginx部署方法
  8. javascript数组集锦
  9. C++中typedef和define的区别
  10. 变量的属性(全局变量、局部变量、动态变量、静态变量等)