function quickSort(arr){
if(arr.length <= 1) return arr;//判断是否有效数组
var cut = Math.floor(arr.length/2);//取中间下标
var left = [],right = [];
var num = arr.splice(cut,1)[0];//取基准值
for(var i = 0;i < arr.length;i ++){
if(arr[i] < num){
left.push(arr[i]);//小的放左边
}else {
right.push(arr[i]);//大的放右边
}
}
return quickSort(left).concat(num,quickSort(right));//递归
}
相关文章
- Javascript 自动计算生日
- 【JavaScript脚本宇宙】构建Web美学:CSS预处理器和UI库
- 希尔排序-插入排序
- 数据结构与算法JavaScript (一) 栈
- 前端面试宝典总结3-JavaScript(2)
- Vue CLI:Vue CLI是一个强大的工具,可以帮助开发者快速地创建和管理Vue项目。我们可以讨论它的一些核心特性,比如热重载、懒加载等
- JavaScript 中回调地狱的今生前世
- 2017 Multi-University Training Contest - Team 9 1005&&HDU 6165 FFF at Valentine【强联通缩点+拓扑排序】
- PHP 二维数组排序保持键名不变
- Java集合框架——容器的快速报错机制 fail-fast 是什么?