python 递归排序[通俗易懂]
2023-06-13 09:12:07 时间
大家好,又见面了,我是你们的朋友全栈君。
python 递归
对序列排序,使用二分冒泡排序,将序列分割为 两部分
第一步: 首先,设定一个初始值, 假设为 序列的第一个值,
第二步: 将序列中 大于初始值的 值,放置于 初始值的左边
第三步: 将序列中 小于初始值的 值,放置于 初始值的右边
第四步: 将序列一分为二,存放小值的列表 作为一个列表 进入递归
存放大值的列表 作为一个列表 进入递归
返回一个排好序的列表
def sort_list(lis, start, end):
# 判断结束位置
if start < end:
i, j = start, end
# 设置初始值
base = lis[i]
while i < j :
# 此循环可将 序列分为两部分
while i < j and lis[j] >= base:
j = j - 1
lis[i] = lis[j]
while i < j and lis[i] <= base:
i = i + 1
lis[j] = lis[i]
lis[i] = base
# 将序列 一分为二 此为小值列表
sort_list(lis, start, i-1)
# 此为大值列表
sort_list(lis, j+1, end)
return lis
if __name__ == '__main__':
lis = [1,2,3,5,7,11,4,6]
sort_list(lis, 0, len(lis)-1)
print(lis)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147843.html原文链接:https://javaforall.cn
相关文章
- pycharm自带python环境吗_Python IDE环境之 新版Pycharm安装详细教程[通俗易懂]
- pycharm配置python运行环境_C中调用Python
- 用Python做个色情图片识别
- Python要如何实现(列表)排序?
- python全局变量赋值_Python全局变量和局部变量[通俗易懂]
- 【说站】python正则表达式中分组的命名
- 【说站】python选择排序算法的特点
- 【说站】python OpenCV的图像处理
- python输出unicode编码_Python以utf8编码读取文件
- Python GUI神器Gooey
- Python字典提取_python字典键对应的值
- python用冒泡法排序_数组冒泡排序c语言函数
- 10个常用的损失函数解释以及Python代码实现
- python自动化测试—Python自动化框架及工具
- python学习—— IPy 强大的IP地址解析模块
- 常用排序方法——python写法【冒泡、快速排序、TOP-K问题】
- Python实现简单GUI程序
- Python 使用oslo.vmware管理ESXI虚拟机
- 【测试开发】python系列教程:Python数据类型转换
- Q526: 如何高效学习 Python 的第三方库?
- python-Python与MongoDB数据库-MongoDB数据库的基本知识
- Python结合MySQL实现信息交互(python与mysql交互)
- 使用 singledispatch 在 Python 中追溯地添加方法
- Linux环境下Python开发的历程(linux与python)
- python字符串格式化代码
- python快速排序代码实例
- 跟老齐学Python之玩转字符串(2)