快速排序的js递归实现
来源:互联网 发布:古风软件 编辑:程序博客网 时间:2024/06/07 04:51
快速排序的实现思路就是每次以一个基数作为比较对象,把其他所有小于基数的值放到一边,剩余的放置另一边,两边继续递归之前的步骤 。
时间复杂度为O(nlogn)
//快速排序,array为数组
var quickSort = function(array) {var left = [],
right = [],
//基准数
base;
if (array && array.length <= 1 ) {
return array;
}
base = array[0];
array = array.slice(1);
//除基准数外遍历放置到左右边
array.forEach(function(item) {
if (item < base) {
left.push(item);
} else {
right.push(item);
}
})
return quickSort(left).concat(base,quickSort(right));
}
阅读全文
0 0
- 快速排序的js递归实现
- 快速排序的递归实现
- 快速排序的递归实现
- 快速排序的递归实现
- 快速排序的递归实现
- 快速排序的递归实现
- 快速排序的递归实现
- 递归实现快速排序
- 快速排序+递归实现
- 递归实现快速排序
- 快速排序--递归实现
- 递归实现快速排序
- 快速排序。冒泡排序递归和非递归的实现
- 快速排序的非递归实现
- php的非递归快速排序实现
- 非递归的快速排序实现(转)
- 快速排序算法的递归实现
- 快速排序的非递归实现
- JAVA连接MDB----连接问题及中文乱码问题
- 前端html页面内容的加载顺序
- 【Java基础09_2】抽象类
- C语言操作符
- 001_JavaWeb简介
- 快速排序的js递归实现
- POJ 2253.Frogger
- JQ中的动画
- 队列应用场景
- 切换tab按钮事件模块化
- Vue 之 开发环境的搭建
- linux crontab 计划任务详解
- @Query注解的用法(Spring Data JPA)
- Nginx配置详解