本文实例讲述了JavaScript实现快速排序的方法。分享给大家供大家参考,具体如下:
思想:
通过分治思想、递归方法将数据依次分解为包含较小元素和较大元素的不同子序列
1.在数组中选择一个元素为基准
2.对数组进行遍历,小于基准的元素都移到基准的左边,大于基准的元素都移到基准的右边
3.对基准左边和右边的两个子集,不断重复前两步,直到所有子集只剩下一个元素为止
实现代码:
rush:js;">
function sqort(arr){
if(arr.length===0){
return [];
}
var left=[];
var right=[];
var pivot=arr[0];//(基准以首元素)
for(var i=1;i
注:
对于较小数组和较大数组分别递归调用sqort()
函数,当递归结束时候,再将较小的数组与基准以及较大的数组连接起来形成最终的有序数组并返回。
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。