• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > php使用递归与迭代实现快速排序示例

php使用递归与迭代实现快速排序示例

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了php推送示例,微信php示例代码,php代码示例,官方的php示例代码,matlab迭代示例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

/**用迭代实现
 * @param $seq
 * @return array
 */
function quicksortX(&$seq)
{
    $stack = array($seq);
    $sort = array();
    while ($stack) {
        $arr = array_pop($stack);
        if(count($arr) <= 1){
            if (count($arr) == 1) {
                $sort[] = &$arr[0];
            }
            continue;
        }

        $k = $arr[0];
        $x = array();
        $y = array();
        $_size = count($arr);
        for ($i = 1; $i < $_size; $i++) {
            if ($arr[$i] <= $k) {
                $x[] = &$arr[$i];
            } else {
                $y[] = &$arr[$i];
            }
        }
        !empty($y) && array_push($stack, $y);
        array_push($stack, array($arr[0]));
        !empty($x) && array_push($stack, $x);
    }
    return $sort;
}
//$testArr = array(5545, 5, 6, 7675, 100, 9, 233, 566, 789, 456, 23, 55, 7, 4, 343, 564, 5, 45657, 8, 998, 9, 34, 34, 55, 6, 5, 6433, 67, 6, 6766, 4, 2, 42, 25634, 34343, 3, 3, 454, 4, 65, 6678, 57, 5455);
for($i=0;$i<20;$i++){
    $testArr[]=mt_rand(0,10000);
}
//var_dump($testArr);
echo count($testArr).'<br>';
$start=microtime();
echo count(quicksort($testArr)).'<br>';
echo microtime()-$start.'<br>';
var_dump(quicksort($testArr));
echo '------------------------------------------------------------------------<br>';
echo count($testArr).'<br>';
$start=microtime();
echo count(quicksortX($testArr)).'<br>';
echo microtime()-$start.'<br>';
var_dump(quicksortX($testArr));
</div>

</div>

您可能想查找下面的文章:

  • php使用递归与迭代实现快速排序示例

相关文章

  • 约瑟夫问题的Python和C++求解方法
  • python用来获得图片exif信息的库实例分析
  • python计算最大优先级队列实例
  • Linux中Python 环境软件包安装步骤
  • Python入门教程之if语句的用法
  • Python脚本实现集群检测和管理功能
  • django 文件上传功能的相关实例代码(简单易懂)
  • Python常用模块用法分析
  • 浅谈python新手中常见的疑惑及解答
  • python版本的读写锁操作方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python实现从URL地址提取文件名的方法
    • python实现斐波那契数列的方法示例
    • 解密Python中的描述符(descriptor)
    • Python中文分词工具之结巴分词用法实例总结【经典案例】
    • Python实现发送email的几种常用方法
    • Python实现的彩票机选器实例
    • python getopt 参数处理小示例
    • python创建临时文件夹的方法
    • 举例讲解Python的Tornado框架实现数据可视化的教程
    • 12步教你理解Python装饰器

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有