def quick_sort_in_place(arr, low=None, high=None): if low is None: low = 0 if high is None: high = len(arr) - 1 def partition(arr, l, r): pivot = arr[l] # 选最左侧元素作为基准 i = l j = r while i < j: # j向左找小于pivot的数 while i < j and arr[j] >= pivot: j -= 1 arr[i] = arr[j] # i向右找大于pivot的数 while i < j and arr[i] <= pivot: i += 1 arr[j] = arr[i] arr[i] = pivot # 将pivot放到正确位置 return i if low < high: pos = partition(arr, low, high) quick_sort_in_place(arr, low, pos - 1) # 递归处理左半部分 quick_sort_in_place(arr, pos + 1, high) # 递归处理右半部分 # 测试 if __name__ == "__main__": data = [5, 2, 9, 3, 7, 6, 1, 8, 4] quick_sort_in_place(data) print(data) # [1, 2, 3, 4, 5, 6, 7, 8, 9]快速排序Python实现,原地排序,节约内存,工程常用
张小明
前端开发工程师
AKShare金融数据接口库终极指南:一行代码获取2000+数据源的免费解决方案
AKShare金融数据接口库终极指南:一行代码获取2000数据源的免费解决方案 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/g…
信创合规下开源软件融合的挑战与实践
1. 开源软件与信创融合的核心挑战 国内信息技术应用创新产业(简称"信创")正在经历从试点到全面推广的关键阶段。作为某央企技术架构师,我负责过三个省级政务云信创改造项目,深刻体会到开源技术在信创体系中的特殊地位—…
PostgreSQL性能优化:PgTune工具实战指南
1. 项目概述 PostgreSQL作为一款功能强大的开源关系型数据库,其性能表现很大程度上取决于配置参数的合理性。PgTune正是为解决这一痛点而生的在线工具,它能够根据服务器硬件规格和工作负载特征,自动生成优化的PostgreSQL配置建议。我在管理多…
【Linux】RK3568(二)运行
文章目录开发版介绍链接开发板 韦东山 介绍链接官方提供的几种镜像包镜像包区别armbian瑞芯微官方的网站理解烧录ARMbian 桌面版固件使用ARMbian系统 :默认密码连接屏幕成功启动桌面版连接串口 终端显示启动后信息连接网络USB免驱网卡开发版介绍链接 https://100as…
【机器学习】(36)—— 语言模型小结
文章目录1. 前面几篇的主要内容2. 从「单个 ID」到「整段序列」3. 上下文能力对照4. 三条适配路径的记忆要点5. 提交前检查6. 汽车场景下的路径选择7. 和前面篇章的关系8. 常见误区9. 术语与延伸阅读10. 小结与下一主题摘要:第 33~35 篇分别讲了下一词建…
二叉搜索树(BST)核心原理与高效操作指南
1. 二叉搜索树的核心特性回顾 在开始今天的二叉搜索树进阶内容之前,让我们先快速回顾一下这种数据结构的基本特性。二叉搜索树(Binary Search Tree,BST)是一种特殊的二叉树,它满足以下性质: 对于树中的每个…