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

详细的解决方案的快速排序(排序)的Javascript算法序列算法

详细的解决方案的快速排序(排序)的Javascript算法序列算法
快速排序的概念很简单,整个排序过程只需要三步:

(1)在数据集中,选择一个元素作为轴心。
(2)所有小于基准的元素都移到数据的左边;大于基准的所有元素都移到数据的右边。
(3)在基准的左右两边重复两个子集的第一步和第二步,直到所有子集只剩下一个元素为止。
例如,现在有一组数据集{ 85, 24, 63、45, 17, 31、96, 50 },如何排序呢
第一步是选择中间元素45作为基准。(基准值可以任意选择,但中间的值更容易选择)。

第二步,按照顺序,将每个元素与基线比较,形成两个子集,一个小于45 ,另一个子大于45 。

第三步是重复两个子集的第一步和第二步,直到所有子集只剩下一个元素。

遵循Internet上的信息(在这里和这里),上述算法以Javascript语言实现。
首先,一个快速排序函数的定义,它的参数是一个数组。

无功快速排序=功能(ARR){
};
然后,检查数组中元素的数量,如果小于1返回。

无功快速排序=功能(ARR){
如果(arr.length <= 1){ return ARR;}
};
然后,选择并将其与原始数组分开,然后定义两个空数组,这些数组用于存储左右两个子集。

无功快速排序=功能(ARR){
如果(arr.length <= 1){ return ARR;}
无功pivotindex = math.floor(arr.length / 2);
VaR支点= arr.splice(pivotindex,1){ 0 };
var左};
var;
};

然后,您开始遍历数组,小于基准的元素将子集放在左边,该子集大于右子集中的基线元素。

无功快速排序=功能(ARR){
如果(arr.length <= 1){ return ARR;}
无功pivotindex = math.floor(arr.length / 2);
VaR支点= arr.splice(pivotindex,1){ 0 };
var左};
var;
对于(var i = 0;i < arr.length;i++){
如果(ARR {我} <支点){
Left.push(ARR {我});
其他{ }
Right.push(ARR {我});
}
}
};
最后,使用递归重复该过程,可以得到有序数组。

无功快速排序=功能(ARR){
如果(arr.length <= 1){ return ARR;}
无功pivotindex = math.floor(arr.length / 2);
VaR支点= arr.splice(pivotindex,1){ 0 };
var左};
var;
对于(var i = 0;i < arr.length;i++){
如果(ARR {我} <支点){
Left.push(ARR {我});
其他{ }
Right.push(ARR {我});
}
}
返回快速排序(左),Concat({转},快速排序(右));
};
当你使用它时,快速排序()直接调用。
以上是一个快速排序算法(快速排序)算法由萧边Javascript算法系列,我想帮你。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。

相关文章

如何在PPT中设置文本框滚动效果PPT

如何在PPT中设置文本框滚动效果PPT

滚动效果,设置,文本框,教程,如何在,为了使PPT更加生动,我们可以将文本框插入到滚动动画效果中。让我们告诉萧边如何在PPT中设置文本框的滚动效果。 一种在PPT中设置文本框滚动效果的方法 1,开始PowerPoint。首先,我们要插入文本框。在这里,我…

jQuery中切换的2个用法细节(推荐)

jQuery中切换的2个用法细节(推荐)

推荐,细节,电脑软件,jQuery,首先,在元素的单击事件中,绑定两个或两个以上函数。切换不像绑定。它需要添加单击来绑定单击触发事件。开关本身是由单击触发的(只能通过单击触发)。 以下示例如下: 我动态展示 $(函数(){()) $(# btntest ) $(# btntest (Toggl…

excel表数据下拉教程excel表

excel表数据下拉教程excel表

教程,表数据,电脑软件,excel,使用excel的朋友都知道,有很多功能可以帮助我们处理数据,节省办公时间和提高工作效率,这是广泛应用于提高技能的,具体在这里操作的是excel表数据共享的小水滴递增教程,供大家阅读和学习。 Excel表格数据下拉教程: …

飞来的信总是被其他窗口覆盖着。

飞来的信总是被其他窗口覆盖着。

覆盖,窗口,电脑软件,问:当光标移到飞信窗口的边缘,它会自动弹出。虽然它也可以播放,但它总是被其他窗口覆盖,需要点击鼠标,这是什么原因 答:这是你没有设置飞信窗口始终保持在其他窗口的前端;打开飞信,设置窗口中选择基本建立RARR;常规选择始终保持…

excel正确输入邮政编码

excel正确输入邮政编码

输入,邮政编码,正确,电脑软件,excel,在Excel单元格中输入0个邮政编码将自动删除0。除了设置细胞文本除此之外,还有其他的方法。右键单击单元格,选择单元格格式,在弹出的;;;单元格格式对话框;;选项卡下,选择分类;,在右侧的类型中选择;;;邮政编码;在点击确定…

如何在PS中画一个微信图标

如何在PS中画一个微信图标

图标,画一,如何在,电脑软件,PS,在设计过程中,如果你想使用一个大尺寸的微信图标,但在网上找不到,我们可以画一个图标。 软件名称:Adobe PS图象处理软件8全绿色中文版软件大小:150.1mb更新时间:2015-11-04 1。首先创建一个新的800 * 800文件 2。…

自动黑屏(临时屏幕屏幕)

自动黑屏(临时屏幕屏幕)

屏幕,黑屏,电脑软件,当使用PowerPoint来展示课件时,学生有时需要自己阅读和讨论。为了避免屏幕上的图片影响,学生能学会专注于b和钥匙。之后,学生们学会了完整的B关键是可以恢复正常的。按W关键也产生类似的效果。…

光学RGB三色叠加RGB

光学RGB三色叠加RGB

叠加,光学,电脑软件,RGB,光的原色,是RGB(红绿蓝)。我们在课堂上,这也是关于摄影,RGB,我们看到的荧光粉相结合的电视,电视在你的面前,看看这是CRT,但不要看你在电脑显示器前,他的像素太小,肉眼无法seen.rgb这三种颜色的组合,几乎所有的颜色,知道三种颜色…

PS是如何抽香烟的

PS是如何抽香烟的

香烟,电脑软件,PS,PS软件得到了广泛的应用,是非常受欢迎的audience.ps软件能快速处理图片,排版的文本和poster.ps软件总体设计主要是应用在各个领域,如摄影,广告设计公司等,让我们从下面的学习 软件名称:Adobe PS图象处理软件8全绿色中文版软件…

PS图象处理软件生产的一种独特的移

PS图象处理软件生产的一种独特的移

图象,处理软件,液体,表面,独特,制作效果字有点困难,我们需要在开始时画出线条画。导入ps后,可以提取文本的各个部分,最后完成光照和阴影处理。 最终效果 1,先制作数字本体的形状。在这里,我使用形状工具和布尔运算。只不过是圆角矩形的加法和减…

PS图象处理软件个性化的一个美丽的

PS图象处理软件个性化的一个美丽的

照片,图象,一个美丽,处理软件,电影,先看最后效果: 使用工具:PS图象处理软件CS3注:本文中使用的快捷键在英文输入状态都是有效的。第一步:一个新的1024times;768像素的文件名为{章子怡}打开桌面,一张章子怡的照片,使用选择工具,把它拖到章子怡的桌面…

一种通过SQL精确检测一天数据的方

一种通过SQL精确检测一天数据的方

数据,方法,检测,精确,电脑软件,前言 数据查询在网站和系统中都很常见。下面是介绍通过sql准确地检测一天数据的方法,然后学习和学习。 Oracle数据库中一天的定义不等于上午12点前的第二天上午十二点到十二点。 例如,找出数据对2014-10-1天…