博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[PHP] 算法-快速排序的PHP实现
阅读量:5977 次
发布时间:2019-06-20

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

快速排序:1.基于二分的思想2.第一个作为基准数,左右各一个指针,同时扫描,右边先走,找到比基准数小的停下左边再走,找到比基准数大的停下,左右交换3.当左右相遇的时候,把当前的和基准数调换,递归调用4.快速排序的最差时间复杂度和冒泡排序是一样的都是O(N2),它的平均时间复杂度为O(NlogN)quickSort &arr,left,right    if left>right return    temp=arr[left]    i=left    j=right    while i
=temp && i

 

$right) return; //选第一个为基准数 $temp=$arr[$left]; //i是左边的指针 $i=$left; //j是右边的指针 $j=$right; //i小于j的时候一直循环 while($i<$j){ //j从右往左走,大于等于基准数就往前走一步,并且最终j会等于i while($arr[$j]>=$temp && $i<$j){ $j--; } //i从左往右走,小于等于基准数的就往前走一步,最终i会等于j while($arr[$i]<=$temp && $i<$j){ $i++; } //调换i和j所在的数 $t=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$t; } //基准数和i,j所在的位置的数调换位置 $arr[$left]=$arr[$i]; $arr[$i]=$temp; //左半部分递归 quickSort($arr,$left,$i-1); //右半部分递归 quickSort($arr,$i+1,$right);}$arr=array(9,3,5,1,7,9,6,2,4,8,0);$right=count($arr)-1;quickSort($arr,0,$right);var_dump($arr);

 

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

你可能感兴趣的文章
520戏精上身!纸短情长,一句顶一万句的花式告白语抱走不谢!
查看>>
[C#-SQLite] SQLite一些奇怪的问题
查看>>
在WinDBG中查看调用栈的命令
查看>>
2017中国互联网消费生态大数据报告
查看>>
canvas绘制正文形并填充-2
查看>>
C# WebApi+Task+WebSocket实战项目演练(四)
查看>>
第六章 加密与解密
查看>>
switch case 中定义变量
查看>>
使用jQuery.Ajax向ASP.NET MVC控制器Post数据
查看>>
系统调优,你所不知道的TIME_WAIT和CLOSE_WAIT
查看>>
精通 MEAN: MEAN 堆栈
查看>>
weblogic管理2 - 创建并启动一个managed server
查看>>
前缀、中缀、后缀表达式(转载)
查看>>
html如何设置radio单选按钮默认选中效果
查看>>
mysql 多实例应用配置部署指南
查看>>
Oracle 12c 新特性之 temp undo
查看>>
What every programmer should know about memory 笔记
查看>>
移动BPM解决方案
查看>>
bootstrap-关闭按钮
查看>>
uC/OS-II源码分析(四)
查看>>