快速 排序的思想并实现一个快排?
来源:互联网 发布:域名怎么接入阿里云 编辑:程序博客网 时间:2024/05/22 00:45
"快速排序"的思想很简单,整个排序过程只需要三步:
(1)在数据集之中,找一个基准点
(2)建立两个数组,分别存储左边和右边的数组
(3)利用递归进行下次比较
<script type="text/javascript">
function quickSort(arr){
if(arr.length<=1){
return arr;//如果数组只有一个数,就直接返回;
}
var num = Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整
var numValue = arr.splice(num,1);//找到中间数的值
var left = [];
var right = [];
for(var i=0;i<arr.length;i++){
if(arr<numValue){
left.push(arr);//基准点的左边的数传到左边数组
}
else{
right.push(arr);//基准点的右边的数传到右边数组
}
}
return quickSort(left).concat([numValue],quickSort(right));//递归不断重复比较
}
alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87”
</script>
阅读全文
0 0
- 快速 排序的思想并实现一个快排?
- 快速排序的实现(快排)
- 快速排序(快排)算法的C++两种实现
- 快排 快速排序
- 快速排序 改进快排的方法
- 快速排序 改进快排的方法
- 快速排序 改进快排的方法
- Java实现常见的排序算法之快排(快速排序)
- QuickSort/快速排序/快排
- 快速排序算法(快排)
- [算法]快排-快速排序
- Java 快速排序 快排
- [模板]快速排序(快排)
- 用Lisp语言实现快速排序(快排)算法
- 快速排序(Java随机位置快排实现)
- 各种排序的实现:希尔 归并 堆排 快排
- 快排、堆排和归并排序的Python实现
- 7、JAVA实现快排--分治+递归的思想
- Python推导式介绍
- 车道线检测霍夫直线检测原理分析
- 按键中断消斗的集合与进阶
- C++类接口和头文件概述
- 用面向对象解决 输入用户名自动显示邮箱后缀列表的方法
- 快速 排序的思想并实现一个快排?
- 分布式框架-Dubbox介绍
- 思辨人工智能 IBM Watson在帮每个人实现无限可能
- 14.ProcessBar进度条的应用实例:模拟两个进度条加载
- js模块化编程总结
- fake-useragent User Agent 伪装
- 基于Agile Lite开发框架实现底部导航切换页面
- 关于mysql字符串与时间戳
- 一道奥数题的简单实现