首页 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

相关文章

学习快速排序算法 学习快速排序算法

04 Jan 2025

快速排序是最有效的算法之一,它使用分治技术对数组进行排序。 快速排序的工作原理 快速排序的主要思想是帮助一次将一个元素移动到未排序的正确位置。

了解快速排序算法(附Java示例) 了解快速排序算法(附Java示例)

18 Jan 2025

QuickSort 算法详解:高效的排序利器 快速排序 (QuickSort) 是一种基于分治策略的高效排序算法。分治法将问题分解成更小的子问题,分别解决这些子问题,然后组合子问题的解得到最终解。在快速排序中,数组通过选择一个分区元素来划分,该元素决定数组的分割点。在划分之前,分区元素的位置会重新排列,使其位于大于它的元素之前,小于它的元素之后。左右子数组将以这种方式递归划分,直到每个子数组只包含一个元素,此时数组已排序。 快速排序工作原理 让我们以升序排序以下数组为例: 步骤 1:选择枢轴元

掌握快速排序:计算机科学的基本算法 掌握快速排序:计算机科学的基本算法

26 Dec 2024

快速排序简介 在广阔的算法和数据结构世界中,快速排序是最优雅、最高效的排序方法之一。其简单性和有效性使其成为开发人员和研究人员的最爱

了解快速排序算法:分而治之 了解快速排序算法:分而治之

21 Jan 2025

在计算机科学领域,快速排序是最有效且使用最广泛的排序算法之一。其对大数据集排序的惊人速度归功于其“除以

如何使用自连接从自引用表中检索数据? 如何使用自连接从自引用表中检索数据?

13 Jan 2025

了解 SELF JOIN 及其应用程序在数据库管理领域中,SELF JOIN 是一种特殊类型的联接操作,它允许...

Oracle 数据库现在支持布尔数据类型吗? Oracle 数据库现在支持布尔数据类型吗?

12 Jan 2025

Oracle 数据库中布尔数据类型的可用性与其他 RDBMS(例如提供 BIT 数据类型的 Microsoft SQL Server)不同,Oracle 数据库...

See all articles