js 快速排序
2018-03-14 23:21
351 查看
简单地说:
1. 选择一个基准数 key = arr[0]
2. 大于这个数 的放到key的右边,小于这个数的放在左边,这样数组分成了两个区间。
3. 分别在上述两个区间做第二步操作。
4. 一直重复,用递归的方式,直到区间的数为1时结束。
代码如下:
1. 选择一个基准数 key = arr[0]
2. 大于这个数 的放到key的右边,小于这个数的放在左边,这样数组分成了两个区间。
3. 分别在上述两个区间做第二步操作。
4. 一直重复,用递归的方式,直到区间的数为1时结束。
代码如下:
let arr=[5,9,8,7,3,45,8,10,2,6] function qs(arr,left,right){ let key = arr[left] while(left<right){ while(left<right && arr[right]>=key) right--; arr[left] = arr[right] while(left<right && arr[left]<=key) left++; arr[right] = arr[left] arr[left] = key return left } } function sort(arr,left,right){ if (left<right) { let flag = qs(arr,left,right) sort(arr,left,flag-1) sort(arr,flag+1,right) } return arr } let v = sort(arr,0,arr.length-1) console.log(v)
相关文章推荐
- js 快速排序
- js 快速排序
- js对象数组按属性快速排序
- JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
- js冒 4000 泡排序,快速排序代码
- js实现常见的三种排序方法(冒泡排序、快速排序、归并排序)
- js对象数组按属性快速排序
- JS快速排序--记录点滴
- js冒泡排序,快速排序,插入排序
- JS实现快速排序
- js对象数组按属性快速排序
- Js中快速排序
- js 快速排序
- JS实现随机化快速排序的实例代码
- js 快速排序
- JS实现快速排序
- 分享两遍不错的文章,有关快速排序,用JS写的,有需要的朋友可以参考一下
- js 快速数组排序 Array sort()排序算法 splice()
- JS实现快速排序
- js实现快速排序