`

PHP 快速排序

php 
阅读更多
<?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快速排序原理与实现方法分析_.docx

    ### PHP快速排序原理与实现方法分析 #### 快速排序简介 快速排序是一种非常高效的排序算法,采用分治策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。该算法的基本思想是:选择一个基准...

    php冒泡排序和快速排序

    **PHP快速排序** 快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它的基本思想是采用分治法。快速排序通常比其他O(n log n)算法更快,因为它的内部循环可以在大部分的架构上更有效率地实现。 1. **...

    php快速排序原理与实现方法分析

    本文实例讲述了php快速排序方法。分享给大家供大家参考,具体如下: &lt;?php $n = array('13','14','55','10','54','2','79','106','89','90','22','60','111','77777','-110','-10','123'); function partition($...

    冒泡排序、快速排序、选择排序的php实现

    本话题主要探讨了三种经典的排序算法——冒泡排序、快速排序和选择排序的PHP实现。这三种算法各有优缺点,适用于不同的场景,理解并掌握它们对于提升PHP编程能力十分有益。 首先,我们来看冒泡排序(Bubble Sort)...

    PHP 快速排序算法详解

    在PHP中实现快速排序,首先我们需要定义一个函数`quickSort`,该函数接受一个数组作为参数。如果数组只有一个元素或者为空,那么它本身就是有序的,因此可以直接返回。否则,我们选择一个基准值,通常是数组的第一个...

    PHP-基于php实现的快速排序算法-QuickSort.zip

    以下是一个简单的PHP快速排序函数实现: ```php function quickSort($arr) { if(count($arr) ){ return $arr; } $pivot_key = key($arr); $pivot = array_shift($arr); $left = $right = array(); foreach...

    PHP快速排序算法实例分析

    本文实例讲述了PHP快速排序算法。分享给大家供大家参考,具体如下: 快速排序:在无序的数组$data中,选择任意一个值作为对比值,定义i为头部检索索引,j为尾部检索索引, 算法步骤: (1)初始化对比值$value=$data...

    PHP快速排序quicksort实例详解

    在本例中,PHP快速排序的实例使用数组[5,3,0,1,1,4,4,7,2,3,2]进行演示,通过选择数组的第一个元素作为基准进行分区,然后递归地对基准左边和右边的子数组进行快速排序。 在PHP中实现快速排序可以通过函数递归调用...

    php代码-php快速排序 - mt_rand() floor(count($arr)/2) array_merge()

    在PHP编程中,快速排序是一种常用的排序算法,它利用了分治的思想,通过选取一个基准元素,将数组分成两个子数组,然后递归地对这两个子数组进行排序,最终达到整个数组有序的目的。在这个特定的场景中,我们看到...

    50个优秀经典PHP算法大集合

    实际PHP开发工作当中,只需要...│ │ ├── QuickSort.php 快速排序 │ │ ├── ShuttleSort.php 飞梭排序 │ │ ├── ShellSort.php 希尔排序 │ │ ├── MergeSort.php 归并排序 │ │ ├── InsertSort.php

    快速排序的算法php实现类.zip

    在这个"快速排序的算法php实现类.zip"压缩包中,包含了一个PHP类,用于实现快速排序算法。以下是对这个PHP实现的详细解释: 1. **分治策略**: 快速排序的核心在于分治策略。首先选取一个基准元素(pivot),通常...

    PHP快速排序算法实现的原理及代码详解

    PHP 实现的快速排序算法简洁明了,利用递归将问题分解,通过不断地分区和排序达到排序的目的。尽管最坏情况下的时间复杂度较高,但在实际应用中,由于随机选取基准值,快速排序通常表现出良好的性能,是实践中常用的...

    PHP排序算法之快速排序(Quick Sort)及其优化算法详解

    在PHP中实现快速排序算法时,需要特别注意数组引用传递和变量的作用域问题,因为在PHP中默认的数组参数传递是通过值传递的,也就是说在函数中对数组的修改不会影响到原始数组。为了在快速排序中直接修改原数组,需要...

Global site tag (gtag.js) - Google Analytics