FP Style 的快排
2024-10-07 03:16:36
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 ]
最新文章
- RabbitMQ常用命令行
- jquery easyui-datagrid/treegrid 清空数据参考
- Android中如何解决输入法键盘和activity页面遮挡的问题
- [HDOJ5543]Pick The Sticks(DP,01背包)
- unity客户端与c++服务器之间的简单通讯_1
- 关于 OneAPM Cloud Test DNS 监控的几个重要问题
- 使用GSoap开发WebService客户端与服务端
- 【转载】Think as Customer 以客户为中心的测试理念
- C++编程规范之23:头文件应该自给自足
- php中函数 vsprintf() 和 var_export()
- wemall app商城源码Android之支付宝接口公用函数
- Oracle存储过程跨用户执行查询报错
- tablesorter 的使用
- Hibernate与JPA的区别是什么
- 数据库隔离级别(mysql+Spring)与性能分析
- js 关于定时器的知识点。
- Tomcat通过自带的Cluster方式实现Session会话共享环境操作记录
- awk将某个字段按照分隔符分割之后统计次数
- 杂谈:大容量(T级容量)的网盘的意义
- 百度地图API-搜索地址、定位、点击获取经纬度并标注
热门文章
- Linux TCP套接字选项 之 SO_REUSEADDR &;&; SO_REUSEPORT
- 关于慕课网《使用vue2.0实现购物车和地址选配功能》的总结
- 【Spark机器学习速成宝典】模型篇02逻辑斯谛回归【Logistic回归】(Python版)
- HSV颜色识别-HSV基本颜色分量范围
- <;img>;的title和alt有什么区别
- Python OOP知识积累
- Linux监控命令之==>;netstat
- Delphi中基本控件之SaveDialog控件的使用总结
- python虚拟环境mkvirtualenv使用
- Unity Shader 基础