python 递归排序[通俗易懂]
python,递归,排序,通俗易懂
2025-04-01 16:27:57 时间
大家好,又见面了,我是你们的朋友全栈君。
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
相关文章
- 「Python」面向对象封装案例1——小夏爱跑步、案例扩展
- python的进制转换器,Python进制转换[通俗易懂]
- python批量采集美团网餐饮商家评论信息
- Python概述
- Python进阶41-drf框架(三)
- 第一章:起步(python环境搭建)
- Python正则表达式,这一篇就够了!
- python求最大公约数和最小公倍数的两种方法
- python转置矩阵函数_对python 矩阵转置transpose的实例讲解
- 快过年了,用Python写副春联&福字送给你~
- 2022春节贺岁档电影开分,水门桥不理想,四海崩了!用Python一探究竟
- 【Python问题解决】---- RecursionError: maximum recursion depth exceeded while calling a Python object
- 8000 字 Python 数据可视化实操指南
- 视频识别车牌号(Python)
- 【python】分苹果
- Python open函数详解「建议收藏」
- 用python给女朋友表白_python绘制太阳花
- Python框架区别是什么?比较常用的框架有哪些?
- Python编码规范
- Python 哈希表查询_进入<哈希函数>为结界的世界