javascript快速排序算法详解
2023-06-13 09:15:46 时间
"快速排序"的思想很简单,整个排序过程只需要三步:
(1)在数据集之中,找一个基准点
(2)建立两个数组,分别存储左边和右边的数组
(3)利用递归进行下次比较
看一个demo:http://jsdo.it/norahiko/oxIy/fullscreen(网页打开可能较慢,慢慢等待吧)
<scripttype="text/javascript"> functionquickSort(arr){ if(arr.length<=1){ returnarr;//如果数组只有一个数,就直接返回; } varnum=Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整 varnumValue=arr.splice(num,1);//找到中间数的值 varleft=[]; varright=[]; for(vari=0;i<arr.length;i++){ if(arr[i]<numValue){ left.push(arr[i]);//基准点的左边的数传到左边数组 } else{ right.push(arr[i]);//基准点的右边的数传到右边数组 } } returnquickSort(left).concat([numValue],quickSort(right));//递归不断重复比较 } alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87” </script>
相关文章
- JS算法题 JavaScript常见算法题 基础语法案例(持续更新)2022年3月30日
- 「数据结构与算法Javascript描述」队列
- 「数据结构与算法Javascript描述」二叉树
- 101道算法javaScript描述【一】
- JavaScript专项算法题(7):Iterators迭代器
- 回文数判定算法的深入研究(JavaScript)
- JavaScript学习总结(二十)——Javascript非构造函数的继承详解编程语言
- JavaScript学习总结(十七)——Javascript原型链的原理详解编程语言
- JavaScript 面试中常见算法问题详解编程语言
- 在JavaScript中调用php程序
- 写给想学习Javascript的朋友一点学习经验小结
- javascript循环语句while、do-while、for-in、for用法区别
- JavaScript全排列的六种算法具体实现
- JavaScript上万关键字瞬间匹配实现代码
- JavaScript生成GUID的多种算法小结
- javascript自然分类法算法实现代码
- javascript实现动态侧边栏代码
- Javascript快速排序算法详解
- JavaScript实现twitterpuddles算法实例
- JavaScript实现三阶幻方算法谜题解答