当前位置:首页 > 日记 > 正文

PHP快速排序算法的详细解决方案

PHP快速排序算法的详细解决方案
概念

这是百度百科全书的图片,非常形象:

快速排序算法是冒泡算法的优化。他的想法是第一个数组分割,把数值元素到一个临时数组的元素,小到另一个临时数组的值(分割点可以是任意一个元素的数组中的值,一般用第一个元素,数组{ 0 }),然后继续21临时数组重复分裂,最后把小的和大的数组元素在数组中的元素。递归的想法是用在这里。

PHP实现

复制代码代码如下所示:

*

快速排序

* /

功能快速排序(数组)

{

如果(!isset($array { 1 }))

返回数组;

美元=数组{ 0 };获取一个用于关键字的分割,通常是第一个元素。

leftarray美元=阵();

rightarray美元=阵();

foreach(数组$ V)

{

如果($ $ $中)

rightarray美元{ } = $ V; / /在一个数组中的美元数量较大的

如果(五元)

leftarray美元{ } = $ V; / /美元小于另一个数组中的数

}

leftarray美元= quicksort($ leftarray); / /把小阵再次分割

leftarray美元{ } = $中; / /元素的分割到后面的小阵,不能忘记它。

rightarray美元= quicksort($ rightarray); / /比较大的数组再分割

返回array_merge(leftarray美元,美元rightarray); / /组合的两个结果

}
冒泡算法的比较

在这里,我做了一个比较,与以前的冒泡算法,我们可以看到,该算法是更有效的比冒泡算法。

复制代码代码如下所示:

美元= array_rand(范围(13000),1500); / /当1600个或更多的冒泡算法的元素将提示内存,但这里为了两个测量之间的差异的大小,设置为1500,这也冒泡算法可以执行。

洗牌($ A);打乱了数组的顺序。

$ T1 =瞬时(真);

快速排序(合一); / /快速排序

$ T2 =瞬时(真的);

回声((($ T2至T1)×1000)。'ms;

要求('。 /冒泡。'/library/loader.php'); / /这里指那种冒泡算法,我以前写的

$ T1 =瞬时(真);

冒泡(合一); / /泡沫

$ T2 =瞬时(真的);

回声((($ T2至T1)×1000)。'ms;
运行结果:

复制代码代码如下所示:

12.10880279541ms

772.64094352722ms

相关文章

对JSsetInterval事件的简要讨论

对JSsetInterval事件的简要讨论

事件,简要,电脑软件,JSsetInterval,setInterval()方法的调用函数不断直到clearInterval()调用或关闭窗口返回的ID值,setInterval()可以作为clearInterval()方法的参数。 使用setInterval() setInterval(代码,毫秒{,郎)) 接下来的两参数的代码是你的js代…

PS使用频道快速拿起婚纱摄影教程

PS使用频道快速拿起婚纱摄影教程

教程,频道,拿起,婚纱摄影,快速,本教程是介绍一个朋友到PS使用频道快速拿起婚纱照的方法。这个教程很好,也很基础。非常适合初学者学习。推荐朋友一起学习。 本教程主要是介绍PS使用频道快速拍摄婚纱照的方法,教程很不错,推荐大家一起学习! 图…

烟花纹理和纹理填充细节

烟花纹理和纹理填充细节

纹理,填充,烟花,细节,电脑软件,烟花纹理和纹理填充细节 我们应该什么时候使用纹理 首先,这是一个很主观的问题,首先应该由个人判断决定:例如,大面积的颜色,背景,需要相同的行距等等,对我来说,因为计算机内存和时间,克隆一个不好的方法。 其次,当我…

自定义页面编辑器FCKeditor的实现

自定义页面编辑器FCKeditor的实现

编辑器,方法,自定义,页面,电脑软件,萧边在这里提到的几篇文章为大家整理,他们的朋友会支持你。 一个长的文章页面,在控制页面插入手动编辑很麻烦,所以修改fck插入分页符: 改性的方法: 打开/编辑 找到fckeditorcode_gecko.js和fckeditorcode_i…

ps很快就创造了一个非常漂亮而漂亮

ps很快就创造了一个非常漂亮而漂亮

漂亮,文字效果,创造了,电脑软件,ps,本教程是向朋友介绍一个能快速漂亮美观的文本效果。这个教程很好。我建议你喜欢你的朋友一起学习。 本教程是为了快速创建一个非常漂亮而美观的文本效果方法,以ps为基础的教程,制作的文本非常漂亮,大家一起…

Javascript中多级链接下拉菜单的实现方法

Javascript中多级链接下拉菜单的实现方法

下拉菜单,多级,链接,方法,电脑软件,本文介绍了用javascript实现多级联动下拉菜单的方法,供大家参考,具体实现方法如下: 复制代码代码如下所示: 无功arritems1 =新的数组(); 无功arritemsgrp1 =新的数组(); arritems1 { 3 } =两列; arritemsgrp1 { 3 } …

焰火营造梦幻山水墨画效果

焰火营造梦幻山水墨画效果

焰火,山水,效果,梦幻,电脑软件,本教程是介绍给我的朋友,用烟花来营造效果的仿梦山水墨画。教程产生的效果非常好,难度也不是很大。我向你推荐它。希望你能喜欢。 本教程是介绍给我的朋友,用烟花来营造效果的仿梦山水墨画。教程产生的效果非常…

PS鼠标画漂亮的锤子手机时钟图标

PS鼠标画漂亮的锤子手机时钟图标

鼠标,图标,时钟,锤子,漂亮,本教程是一个锤子手机时钟图标PS鼠标画的漂亮介绍给朋友,渲染不是很难,但是很漂亮,推荐给朋友,爱一看。 本教程教学习者使用PS鼠标画PS鼠标快画漂亮的锤子手机时钟图标,渲染出时钟图标漂亮,渲染不难,推荐朋友分享学习,我…

AI只是绘制漂亮的绿色图标图标。

AI只是绘制漂亮的绿色图标图标。

图标,绘制,漂亮,电脑软件,AI,本教程是介绍给朋友的,用ai绘制漂亮的绿色图标图标的方法。辅导的效果真的很好。我建议你喜欢你的朋友一起学习。 在本教程中,ai学习朋友会简单地学习ai图标图标,教程是初学者教程,适合初学者和中级ai学习者学习,希…

对面向对象的深入理解

对面向对象的深入理解

面向对象的,电脑软件,本文进一步深入分析了面向对象的Javascript对象,供大家参考,具体分析如下: 在用javacript面向对象编程,这是可以理解的,一切都是对象,示例代码如下: 复制代码代码如下所示: 函数猫(){ } VaR CAT1 =新(CAT); / /创建一个类的实例 cat…

美丽人生PS插画之美

美丽人生PS插画之美

插画,之美,美丽,人生,电脑软件,本教程是介绍给一个朋友,谁使用PS创造华丽的照片和阴影效果。效果非常漂亮,但要求学习者有一定的艺术技巧,希望大家喜欢这本教材。 这本教科书是向你介绍PS美丽的照片和特殊效果。它需要很多艺术技巧。有很多颜…

教你如何创建一个工作空间大等

教你如何创建一个工作空间大等

工作空间,创建一个,教你如何,电脑软件,本教程介绍朋友如何创建CorelDRAW大工作空间的方法,适合于初学者。 让我们教你如何创建CorelDRAW大工作空间的方法。让我们一起看吧。 在Windows属性中,标题按钮菜单 在CorelDraw,打开选项,选择自定义命…