博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php排序之快速排序
阅读量:7095 次
发布时间:2019-06-28

本文共 943 字,大约阅读时间需要 3 分钟。

关于快速排序的介绍 请看百度百科讲解的很详细 

http://baike.baidu.com/link?url=1VOpp4qjdwKma81MFPozjvyPy2rYJos6ZmfP5Ady3xjEP8b3Vzn0WivTtDQ23sGHjUWAu0oAMp3R5jTlOx-7NWmmd3XSkKERxGF8w8WZqoAynrgogfYw8tTnBysKheKavH0qxlCcE6IguFIU5-TXafslTBGhcwD7CSVKqktAfjW6qPnChnc3OCr1-13edJbT

拿出一个作为标尺将大数组分两堆 然后递归式的从子堆中继续拿标尺分堆 直到分不了为止说明有序 动态图如下:

具体PHP代码如下:

1) { $first=$array[0];//拿出第一个作为标尺 $front=array();//前面的数组 存比标尺小的数 $back=array();//后面的数组 存比标尺大的数 for ($i=1; $i < $size; $i++) { if($array[$i]<=$first) { $front[]=$array[$i];//如果小于等于标尺 就放入前面的数组 }else { $back[]=$array[$i];//如果大于标尺 就放入后面的数组 } } $front=my_quick_sort($front);//递归的对前面一半数组排序 $back=my_quick_sort($back);//递归的对后面一半数组排序 return array_merge($front,array($first),$back);//合并开始前面 中间 后面 }else { return $array;//如果数组只有一个长度 没必要排序 直接返回 }}?>

调用代码如下:

结果如下:

 

转载地址:http://pkaql.baihongyu.com/

你可能感兴趣的文章
C++学习笔记一 —— 两个类文件互相引用的处理情况
查看>>
coodle
查看>>
PHP配置方法
查看>>
myEclipse的Aptana studio插件安装时出现Error opening the editor.
查看>>
Mysql 知识(1)
查看>>
根据不同选择显示不同单价的逻辑
查看>>
“整个场面我Hold住!”软件测试计划
查看>>
利用SmtpClient发送邮件
查看>>
线性表练习题1
查看>>
C# 面试题大全
查看>>
「THUPC2018」赛艇 / Citing
查看>>
linux shell 命令学习(4) cut - remove sections from each line of files
查看>>
python正则提取关键字
查看>>
php 中 set_time_limit 理解
查看>>
28 写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)...
查看>>
MHA切换过程:
查看>>
HanLP汉语言分析框架
查看>>
SQLite 日期操作
查看>>
热词分享
查看>>
phpcms相关
查看>>