python 快速排序-代码示例
2023-09-14 09:06:36 时间
def quick_sort(alist, first, last):
if first >= last:
# 如果开始等于结尾,即就一个元素
return
mid_value = alist[first]
low = first
high = last
# 对于相等的情况都放到low的位置,所以第一个条件是>=.数据尽量放在一边。
while low < high:
# hight开始移动,左移所以-1
while low < high and alist[high] >= mid_value:
high -= 1 # high游标左走
alist[low] = alist[high] # 把大于mid的值放到low的位置
# low开始移动
while low < high and alist[low] < mid_value:
low += 1
alist[high] = alist[low]
# high -= 1 # high游标左走
# 当low=high时从循环退出
alist[low] = mid_value
# 或者
# alist[high] = mid_value
# 对low左边的列表排序
quick_sort(alist, first, low - 1)
# 对low右边的列表排序
quick_sort(alist, low + 1, last)
if __name__ == '__main__':
arr = [1, 2, 3, 94, 5, 6, 6, 6, 6]
quick_sort(arr, 0, len(arr) - 1)
print(arr)
相关文章
- Python进阶28-Django 模板层(Jinja2)
- python实现矩阵的转置_Python实现矩阵转置的方法分析
- 【说站】python常量是什么
- 【说站】python快速排序的运作过程
- python attrs_Python attrs作用是什么?
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- python上的表白代码_用Python实现表白代码
- 使用Python对Excel数据进行排序,更高效!
- 【原创】Python UI自动化之UIAutomator2篇--UI自动化通用包。
- Python之ruamel.yaml模块详解(二)
- 100天精通Python丨办公效率篇 —— 12、Python自动化操作office-word(word转pdf、转docx、段落、表格、标题、页面、格式)
- Python学习:1.快速搭建python环境详解编程语言
- python进程之间修改数据[Manager]与进程池[Pool]详解编程语言
- Linux与Python:开拓者的新时代(linux和python)
- Linux查看Python版本的有效方法(linux查看python版本)
- 如何在Linux上将Python脚本设置为后台运行?(linux后台运行python)
- 在Python中简单调用MySQL(python调用mysql)
- python算法学习之计数排序实例
- python抓取豆瓣图片并自动保存示例学习
- python里对list中的整数求平均并排序
- 跟老齐学Python之从if开始语句的征程