const quickSort = (list) => {
if (!list || !list.length) return [];
if (list.length === 1) return list; const [middle, ...rest] = list;
const reducer = (acc, x) => (
x <= middle ?
{ ...acc, left: [...acc.left, x] } :
{ ...acc, right: [...acc.right, x] }
);
const { left, right } = rest.reduce(reducer, { left: [], right: [] });
return [...quickSort(left), middle, ...quickSort(right)];
}; const list = [2, 3, 1, 8, 8, 1, 2, 18, 6, 2333];
const sorted = quickSort(list); // [ 1, 1, 2, 2, 3, 6, 8, 8, 18, 2333 ]

最新文章

  1. RabbitMQ常用命令行
  2. jquery easyui-datagrid/treegrid 清空数据参考
  3. Android中如何解决输入法键盘和activity页面遮挡的问题
  4. [HDOJ5543]Pick The Sticks(DP,01背包)
  5. unity客户端与c++服务器之间的简单通讯_1
  6. 关于 OneAPM Cloud Test DNS 监控的几个重要问题
  7. 使用GSoap开发WebService客户端与服务端
  8. 【转载】Think as Customer 以客户为中心的测试理念
  9. C++编程规范之23:头文件应该自给自足
  10. php中函数 vsprintf() 和 var_export()
  11. wemall app商城源码Android之支付宝接口公用函数
  12. Oracle存储过程跨用户执行查询报错
  13. tablesorter 的使用
  14. Hibernate与JPA的区别是什么
  15. 数据库隔离级别(mysql+Spring)与性能分析
  16. js 关于定时器的知识点。
  17. Tomcat通过自带的Cluster方式实现Session会话共享环境操作记录
  18. awk将某个字段按照分隔符分割之后统计次数
  19. 杂谈:大容量(T级容量)的网盘的意义
  20. 百度地图API-搜索地址、定位、点击获取经纬度并标注

热门文章

  1. Linux TCP套接字选项 之 SO_REUSEADDR &amp;&amp; SO_REUSEPORT
  2. 关于慕课网《使用vue2.0实现购物车和地址选配功能》的总结
  3. 【Spark机器学习速成宝典】模型篇02逻辑斯谛回归【Logistic回归】(Python版)
  4. HSV颜色识别-HSV基本颜色分量范围
  5. &lt;img&gt;的title和alt有什么区别
  6. Python OOP知识积累
  7. Linux监控命令之==&gt;netstat
  8. Delphi中基本控件之SaveDialog控件的使用总结
  9. python虚拟环境mkvirtualenv使用
  10. Unity Shader 基础