快速排序算法理解-python

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)

目录

    • 快速排序定义
    • 举例
    • 代码

快速排序定义

定义一个基准值(通常是第一个),将大于基准值的放在右边,小于基准值的放在右边。

举例

以2 1 9 6 7进行排序:
假设以2作为基准数,大的放右侧,小的放左侧
2 1 9 6 7
1 2 9 6 7 第一次比较
再以2后面的第一个数9作为基准数,因为9左侧的已经排好了
1 2 9 6 7
1 2 6 9 7第一次排序
1 2 6 7 9第二次排序

代码

def fast_sort(data):if len(data) >= 2:mid = data[0]  # 选取第一个数基准值left, right = [], []  # 定义基准值左右两侧的列表data.remove(mid)  # 从原始数组中移除基准值for num in data:if num >= mid:   #大于基准值的放右边right.append(num)else:left.append(num)   #小于基准值的放左边return fast_sort(left) + [mid] + fast_sort(right)else:return dataarray = [2, 1, 9, 6, 7]
print(fast_sort(array))

运行结果:
在这里插入图片描述
参考:https://zhuanlan.zhihu.com/p/81434337

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AutoCAD2013 以上利用AccoreConsole+ c# NetApi Windows Froms 封装

1# 封装类 1 public static class CmdHelper2 {3 /// <summary>4 /// 调用AutoCAD 安装目录下的AccoreConsole.exe来实现批量处理图纸(Net Api dll)5 /// </summary>6 /// <param name"cmsStr">NetApi中注册…

SQL Server 输出 XML

一、概述 SELECT 查询将结果作为行集返回。在 SQL 查询中指定 FOR XML 子句&#xff0c;从而将该查询的正式结果作为 XML 来检索。FOR XML 子句可以用在顶级查询和子查询中。顶级 FOR XML 子句只能用在 SELECT 语句中。而在子查询中&#xff0c;FOR XML 可以用在 INSERT、UPDAT…

linux重定向输出命令

目录一、符号二、“>”举例2.1举例一2.2举例二三、“>>”举例3.1举例一3.2举例二https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#x…

mysql10.3修改默认存储路径

版本为10.3的用该种方式修改&#xff1a; 创建/data/mysql目录 mkdir -p /data/mysql 给这个目录至少要附加读写权限 chmod 777 /data/mysql -r 把mariadb服务停掉 systemctl stop mariadb 把/var/lib/mysql整个目录复制到新路径下 cp -r /var/lib/mysql/* /data/mysql 编辑ma…

计算机硬件系统和软件系统

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xf…

修改mysql锁空间大小

A. 单次生效设置 进入mysql命令 mysql -uroot -p show variables like "%_buffer%";(不要忘记带;号&#xff0c;没有;号表示一条语句没有结束) 默认的innodb_buffer_pool_size8M tmp_table_size 4G max_heap_table_size 256M innodb_file_format Barracuda defa…

TypeError: ‘NoneType‘ object is not callable--python报错解决办法

报错为 翻译过来为&#xff1a;TypeError:“NoneType”对象不可调用 代码&#xff1a; def bibao_one():Jay "哎哟不错哦"def bibao_two():print(Jay)return bibao_two()#执行闭包 execute bibao_one()execute()我们在执行调用函数的时候&#xff0c;把括号去掉就…

IndentationError: expected an indented block --python报错 or IndentationError:unexpected indent

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xf…

python闭包与装饰器的代码解释

代码&#xff1a; https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c…

软件测试管理工具禅道开源版下载安装

下载 下载地址&#xff1a;https://www.zentao.net/ 点击下图的开源版 根据自己的电脑配置选择相应的安装包&#xff0c;例如我的电脑是windows 64位的&#xff0c;下载中文版&#xff0c;就如下图了 安装 根据你的下载路径&#xff0c;找到并点击你下载的.exe文件&#…

禅道的基本使用(创建项目、维护部门、用户、产品、提出需求、创建测试用例等)

禅道的基本使用一、创建项目二、创建维护部门三、添加用户四、创建产品五、提出需求六、创建测试用例禅道作为一个缺陷的管理工具&#xff0c;对于测试者来说其必不可少&#xff0c;下面将介绍禅道的基本使用 一、创建项目 登录禅道&#xff0c;点击项目&#xff0c;创建一个…

禅道的使用技巧

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xf…

mysql用代码建表基础语法

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 创建表一、基本创建语法二、常用约束三、建表举例一、基本…

利用可视化软件navicat查看表的sql语句

1.双击你的数据表&#xff0c;右键点击最后一个对象信息 2.再点击DDL&#xff0c;我们就可以看到我们的sql语句啦

[Err] 1064 - You have an error in your SQL syntax check the manual that corresponds to 之Mysql报错

当利用navicat用sql语句建表时候&#xff0c;出现如下报错 从下图我们可以看到&#xff0c;是我们最后一行的末尾多加了一个逗号。 当我们将最后一行的逗号取消掉就正常运行了 特别注意&#xff1a;最后一行的末尾没有逗号。 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢…

mysql在可视化软件navicat中如何解决中文乱码问题

报错情况 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; sql语句写好点击运行之后出现下列这样的情况&…

mysql中教如何拼接字段(列)值、加入运算、设置别名(非常实用)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 在mysql中&#xff0c;在解决实际问题的时候&#xff0c;遇…

mysql模糊查询LIKE、REGEXP(正则)的详解(在可视化工具navicat下)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、总结二、语法三、LIKE举例3.1"%"的用法…

Mysql在可视化工具navicat中如何解决输入小数变整数的问题,(改变小数位数)

方法一 1.点击你选中的表&#xff0c;单击设计表 2.单击字段名&#xff0c;将类型改为double&#xff0c;小数点改为你想保留的几位小数&#xff0c;最后再保存 注&#xff1a;上图中的“填充0”可勾选&#xff0c;若选中&#xff0c;有一个数字输入的时候有两位小数&#x…

Mysql常用分组聚合函数(统计行的数量、最大值、最小值、平均值、求和)

目录一、概念二、举例2.1 COUNT函数2.1.1 语法2.1.2运行结果2.2 AVG函数2.2.1语法2.2.2运行结果2.3 SUM函数2.3.1语法2.3.2运行结果2.4 MAX函数2.4.1语法2.4.2运行结果2.5 MIN函数2.5.1语法2.5.2运行结果一、概念 聚合函数&#xff1a;又称分组函数、统计函数、聚集函数。在my…