`

PHP实现常见排序算法

阅读更多

<?
//插入排序(一维数组)
function insert_sort($arr){
 $count = count($arr);
 for($i=1; $i<$count; $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<$count; $i++){
 $k = $i;
 for($j=$i+1; $j<$count; $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<$count; $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<count($array); $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实现的常见排序算法汇总,包括插入排序、选择排序、冒泡排序、快速排序、归并排序与堆排序,并附有对排序算法的详细说明,需要的朋友可以参考下

    用php实现几种常见的排序算法共6页.pdf.zip

    用php实现几种常见的排序算法共6页.pdf.zip

    十大经典排序算法-多种编程语言

    十大经典排序算法 (1)多种编程语言,JavaScript,python,go,php等语言。 (2)排序算法可以分为内部排序...常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序

    PHP实现常用排序算法(含示意动图)

    本文将依次介绍一些常用的排序算法,以及PHP实现。 快速排序是由东尼·霍尔发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速...

    常见排序算法总结,基于 JavaScript 实现.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    PHP实现常用排序算法的方法

    本文主要介绍了一些常用的排序算法,以及PHP的代码实现等,希望对您能有所帮助。 本文来自于awaimai.com,由火龙果软件Luca编辑推荐。 作为phper,一般接触算法的编程不多。 但基本的排序算法还是应该掌握。 毕竟算法...

    PHP版本常用的排序算法汇总

    本文给大家汇总介绍了一些php中常见的排序算法的代码,非常实用,有需要的小伙伴可以参考下。

    php项目开发中用到的快速排序算法分析

    实际上在,做web开发,比较少遇到使用一些算法之类的,毕竟不是做搜索引擎,也不是写底层(比如写个类似于mysql这样的数据库,里面需要自己实现排序算法),另外,每种语言,比如java,php都或多或少已经封装好排序...

    PHP各种常见经典算法总结【排序、查找、翻转等】

    冒泡排序算法 public function test() { $arr = array(43, 54, 62, 21, 66, 32, 78, 36, 76, 39); var_dump($arr); echo ' '; $arr = $this-&gt;bubbleSort($arr); var_dump($arr); } public function ...

    PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】

    主要介绍了PHP常用排序算法,结合实例形式总结分析了php常见的排序算法,包括基本排序、冒泡排序、快速排序、插入排序等,需要的朋友可以参考下

    排序算法之PHP版快速排序、冒泡排序

    简介快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,...

    PHP常用的排序和查找算法

    本文汇总了常见的php排序算法和查找,在进行算法设计的时候有不错的借鉴价值。现分享给大家供参考之用。具体如下: &lt;?php /** * PHP最常用的四个排序方法及二种查找方法 * 下面的排序方法全部都通过测试 * ...

    PHP经典算法集锦【经典收藏】

    主要介绍了PHP经典算法集锦,整理了各种常见的算法,包括排序、查找、遍历、运算等各种常见算法原理与实现技巧,需要的朋友可以参考下

    PHP常用算法和数据结构示例(必看篇)

    实例如下: &lt;/pre&gt;&lt;pre name=code class=php&gt;&lt;?php /** * Created by PhpStorm. * User: qishou * Date: 15-8-2 * Time: 上午9:12 */ header(content-type:text/html;...// 常用排序算法 /

    leetcode中国-algo:数据结构和算法

    使用php实现常见的算法与数据结构 【leetcode】 使用python实现leetcode middle级的题目 Array(数组) ID Difficulty Title Python 1 Easy Two Sum 11 Medium Container With Most Water 【offer】 使用php实现剑指...

Global site tag (gtag.js) - Google Analytics