首页 PHP 库 其它类库 快速排序算法的php类
快速排序算法的php类
<?php
function qsort(&$arr)
{
  _quick_sort($arr, 0, count($arr) - 1);
}
function _quick_sort(&$arr, $low, $high)
{
  $low_data = $arr[$low];
  $prev_low = $low;
  $prev_high = $high;
  while ($low < $high)
  {
    while ($arr[$high] >= $low_data && $low < $high) {
      $high--;
    }
    if ($low < $high) {
      $arr[$low] = $arr[$high];
      $low++;
    }
    while ($arr[$low] <= $low_data && $low < $high) {
      $low++;
    }
    if ($low < $high) {
      $arr[$high] = $arr[$low];
      $high--;
    }
  }

采用递归算法的快速排序。

@param array $arr 要排序的数组

@param int $low  最低的排序子段

@param int $high 最高的排序字段


免责声明

本站所有资源均由网友贡献或各大下载网站转载。请自行检查软件的完整性!本站所有资源仅供学习参考。请不要将它们用于商业目的。否则,一切后果由您负责!如有侵权,请联系我们删除。联系方式:admin@php.cn

相关文章

快速排序PHP实现 php 快速排序法 php 快速排序的思路 快速排序算 快速排序PHP实现 php 快速排序法 php 快速排序的思路 快速排序算

29 Jul 2016

快速排序,php:快速排序PHP实现:/**** 快速排序:不稳定,时间复杂度 最理想 O(nlogn) 最差时间O(n^2)* 快速排序是对冒泡排序的一种本质改进。它的基本思想是通过一趟扫描后,* 使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,* 而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左边各数都比它小,* 右边各数都比它大。然后又用同样的方

php快速排序的算法 php快速排序的算法

25 Jul 2016

php快速排序的算法

PHP怎么实现快速排序的非递归算法 PHP怎么实现快速排序的非递归算法

05 Apr 2023

介绍快速排序是一种高效的排序算法,它通过不断地将一个数组分成两个子数组来实现排序。在快速排序算法中,一个基准值(pivot)被选出并所有小于基准值的元素放在其左侧,而所有大于基准值的元素放在其右侧。然后,这个过程被递归地应用在左右两侧的子数组中,直到整个数组有序为止。快速排序是一个递归函数,因为它需要将原问题拆解成两个更小的子问题,然后通过递归地求解这些子问题来求解原问题。虽然

Java实现快速排序算法的优化策略 Java实现快速排序算法的优化策略

19 Feb 2024

标题:Java实现快速排序算法的高效方法及代码示例导语:快速排序是一种高效的排序算法,它基于分治的思想,在平均情况下具有较好的性能。本文将通过Java代码示例详细介绍快速排序算法的实现过程,并附带性能优化技巧,以提高其效率。一、算法原理:快速排序的核心思想是选取一个基准元素,通过一趟排序将待排序的序列分割成两个子序列,其中一个子序列的元素都比基准元素小,另一

Java中的快速排序算法 Java中的快速排序算法

30 Aug 2024

Java 快速排序算法指南。在这里我们讨论该程序的实施步骤、优点和复杂性分析。

php实现冒泡排序,选择排序,插入排序和快速排序 快速排序法 快速排序c语言 快速排序算法c语 php实现冒泡排序,选择排序,插入排序和快速排序 快速排序法 快速排序c语言 快速排序算法c语

29 Jul 2016

快速排序,插入排序:php实现冒泡排序,选择排序,插入排序和快速排序:之前自学数据结构的时候看过C语言版的四种基本排序法,C语言都忘的差不多了,最近有空就用php将四种排序法重新写了一遍,复习一下日益生疏的算法。直接贴上代码。";print_r($var);echo ""; }$arr=array(33,11,22,66

See all articles