首页 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:选择枢轴元

破解快速排序算法:几分钟内从理论到实践 破解快速排序算法:几分钟内从理论到实践

07 Nov 2024

快速排序是最快的排序算法之一。它采用一组值,选择其中一个值作为“枢轴”元素,并移动其他值,以便较低的值位于枢轴元素的左侧,较高的值位于右侧

JavaScript实现快速排序的算法思想 JavaScript实现快速排序的算法思想

11 Jul 2018

这篇文章主要介绍了关于JavaScript实现快速排序的算法思想,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

26 Dec 2024

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

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

21 Jan 2025

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

See all articles