<?php
//Quick Sort
function quickSort(array $array){
static $run = 0;
$len = count($array);
if($len <= 1) return $array;
$arrleft=array();
$arrright=array();
$flag = $array[0];
for($i=1;$i<$len;$i++){
if($array[$i]<=$flag){
$arrleft[]=$array[$i];
}else{
$arrright[] = $array[$i];
}
}
$arrleft = quickSort($arrleft);
$arrright = quickSort($arrright);
$run++;
return array_merge($arrleft,array($flag),$arrright);
}
$data= array(10,12,43,32,123,12);
$newarr = quickSort($data);
print_r($newarr);
?>
分享到:
相关推荐
php递归与非递归快速排序写法php递归与非递归快速排序写法php递归与非递归快速排序写法php递归与非递归快速排序写法
### PHP快速排序原理与实现方法分析 #### 快速排序简介 快速排序是一种非常高效的排序算法,采用分治策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。该算法的基本思想是:选择一个基准...
**PHP快速排序** 快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它的基本思想是采用分治法。快速排序通常比其他O(n log n)算法更快,因为它的内部循环可以在大部分的架构上更有效率地实现。 1. **...
本文实例讲述了php快速排序方法。分享给大家供大家参考,具体如下: <?php $n = array('13','14','55','10','54','2','79','106','89','90','22','60','111','77777','-110','-10','123'); function partition($...
本话题主要探讨了三种经典的排序算法——冒泡排序、快速排序和选择排序的PHP实现。这三种算法各有优缺点,适用于不同的场景,理解并掌握它们对于提升PHP编程能力十分有益。 首先,我们来看冒泡排序(Bubble Sort)...
在PHP中实现快速排序,首先我们需要定义一个函数`quickSort`,该函数接受一个数组作为参数。如果数组只有一个元素或者为空,那么它本身就是有序的,因此可以直接返回。否则,我们选择一个基准值,通常是数组的第一个...
以下是一个简单的PHP快速排序函数实现: ```php function quickSort($arr) { if(count($arr) ){ return $arr; } $pivot_key = key($arr); $pivot = array_shift($arr); $left = $right = array(); foreach...
本文实例讲述了PHP快速排序算法。分享给大家供大家参考,具体如下: 快速排序:在无序的数组$data中,选择任意一个值作为对比值,定义i为头部检索索引,j为尾部检索索引, 算法步骤: (1)初始化对比值$value=$data...
在本例中,PHP快速排序的实例使用数组[5,3,0,1,1,4,4,7,2,3,2]进行演示,通过选择数组的第一个元素作为基准进行分区,然后递归地对基准左边和右边的子数组进行快速排序。 在PHP中实现快速排序可以通过函数递归调用...
在PHP编程中,快速排序是一种常用的排序算法,它利用了分治的思想,通过选取一个基准元素,将数组分成两个子数组,然后递归地对这两个子数组进行排序,最终达到整个数组有序的目的。在这个特定的场景中,我们看到...
实际PHP开发工作当中,只需要...│ │ ├── QuickSort.php 快速排序 │ │ ├── ShuttleSort.php 飞梭排序 │ │ ├── ShellSort.php 希尔排序 │ │ ├── MergeSort.php 归并排序 │ │ ├── InsertSort.php
在这个"快速排序的算法php实现类.zip"压缩包中,包含了一个PHP类,用于实现快速排序算法。以下是对这个PHP实现的详细解释: 1. **分治策略**: 快速排序的核心在于分治策略。首先选取一个基准元素(pivot),通常...
PHP 实现的快速排序算法简洁明了,利用递归将问题分解,通过不断地分区和排序达到排序的目的。尽管最坏情况下的时间复杂度较高,但在实际应用中,由于随机选取基准值,快速排序通常表现出良好的性能,是实践中常用的...
在PHP中实现快速排序算法时,需要特别注意数组引用传递和变量的作用域问题,因为在PHP中默认的数组参数传递是通过值传递的,也就是说在函数中对数组的修改不会影响到原始数组。为了在快速排序中直接修改原数组,需要...