如何实现快速排序

1 问题

在我们学习Python过程中,会经常遇到很多数值,在一些题目中会让我们进行简单的排序,但如果数值变多,那么我们如何用更简单的方法实现这些数值快速排序呢?

2 方法

快速排序主要思想为取数组中一个数作为基准值,把所有小于基准值的数放在它的左侧,把大于基准值的数放在它的右侧,方法如下:

  1. 建立一个列表,在其中一些输入无顺序的数值;
  2. 定义一个函数方法实现排序;
  3. 使用if,len()函数来判断列表长度来决定是否需要排序;

代码清单 1

nums = [2,1,4,3,9,6,7]
def quicksort(num):
if len(num) <=1:
return num
key = num[0]
lst1,lst2, lst3 = [], [], []
for i in range(0,len(num)):
if num[i] < key:
lst1.append(num[i])
elif num[i] > key:
lst3.append(num[i])
else:
lst2.append(num[i])
return quicksort(lst1) + lst2 + quicksort(lst3)
print(quicksort(nums))

3 结语

针对多个数值快速排序问题,提出定义空列表来储存比较基准值元素大小方法,通过Python代码输入实验,证明该方法是有效的,本文的方法需要额外开辟空间给用于归类的列表,未来可以继续研究如何使用更简洁更快的代码来进行快速排序。

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

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

相关文章

Vue基本使用(一)

&#x1f4d1;前言 本文主要是【Vue】——Vue基本使用的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&#x…

SSH基础和高级用法

SSH基础和高级用法 SSH&#xff08;Secure Shell&#xff09;是一种安全协议&#xff0c;用于在不安全的网络上提供安全的远程登录和数据传输。以下是一些SSH的用法和高级用法&#xff1a; 基本用法&#xff1a; 远程登录&#xff1a;使用ssh命令可以实现在本地计算机上远程…

网站域名前出现小锁标志是什么情况?有什么影响吗?

在浏览网页时&#xff0c;我们经常会在某些网站域名前面发现小锁标志&#xff0c;而有的网站则没有&#xff0c;这是什么原因造成的呢&#xff1f;这两种情况有什么区别吗&#xff1f; 网站域名前出现小锁是什么情况&#xff1f; 如果仔细观察就会发现域名前面有小锁的网站是…

Spring的事务传播行为

文章目录 说一下Spring的事务传播行为 今天来和大家聊聊spring中使用的事务传播行为&#xff0c; 说一下Spring的事务传播行为 spring事务的传播行为说的是&#xff0c;当多个事务同时存在的时候&#xff0c;spring如何处理这些事务的行为。 ① PROPAGATION_REQUIRED&#xf…

CVE-2023-25573:MeterSphere 任意文件下载漏洞复现[附POC]

文章目录 MeterSphere 任意文件下载&#xff08;CVE-2023-25573&#xff09;漏洞复现[附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 MeterSphere 任意文件下载&#xff08;CVE-2023-25573&#xff09;漏洞…

图扑软件受邀出席高交会-全球清洁能源创新博览会

“相聚鹏城深圳&#xff0c;共享能源盛宴” 第二十五届中国国际高新技术成果交易会(简称“高交会”)于 11 月 15-18 日在深圳盛大开幕。高交会由商务部、科学技术部、工业和信息化部、国家发展改革委、农业农村部、国家知识产权局、中国科学院、中国工程院和深圳市人民政府共同…

OpenCV4.x图像处理实例-常见图像滤镜特效实现

常见20多种图像滤镜特效实现 文章目录 常见20多种图像滤镜特效实现0、准备1、亮度调节2、细节强化3、底片效果4、卡通效果5、浮雕效果6、铅笔素描效果7、夏季或温色滤镜8、冬季或冷色滤波9、Splash滤镜10、双色调(Duo-Tone)滤镜11、日光(Daylight)滤镜12、60sTVs效果13、高…

Android性能优化- 从SharedPreferences到MMKV

前言 前面Android性能优化 - 从SharedPreferences跨越到DataStore一文主要介绍了DataStore的实现原理&#xff0c;以及DataStore相对于SharedPreferences的提升&#xff0c;本文主要简述MMKV相对于SharedPreferences存储的使用及优劣势&#xff0c;以及MMKV原理&#xff0c;以…

Handler系列-IdleHandler

1.IdleHandler是一个interface public final class MessageQueue {public static interface IdleHandler {boolean queueIdle();} } 2.当MessageQueue无Message 如果mIdleHandlers有IdleHandler需要执行&#xff0c;则触发IdleHandler public final class MessageQueue {pr…

海光信息荣获ESG金牛科技引领奖!

11月24日&#xff0c;由中国证券报、中国国新控股有限责任公司、南通市人民政府联合主办的”2023金牛企业可持续发展论坛暨第一届国新杯ESG金牛奖颁奖典礼”在江苏南通举行&#xff0c;“国新杯ESG金牛奖”多项获奖名单同期揭晓。海光信息凭借卓越的技术创新实力与行业影响力&a…

6.显示评论 + 添加评论

1.显示评论 数据层&#xff1a;根据实体查询一页评论数据、根据实体查询评论的数量业务层&#xff1a;处理查询评论的业务、处理查询评论数量的业务表现层&#xff1a;显示帖子详情数据时&#xff0c;同时显示该帖子所有的评论数据 1.1 数据访问层 entity_type&#xff1a;实体…

如何在淘宝brand_cat-获取品牌分类列表api接口

以下是一篇关于如何使用淘宝brand_cat API接口获取品牌分类列表的5000字文章。 淘宝是中国最大的电商平台之一&#xff0c;提供了许多API接口供开发者使用。其中&#xff0c;brand_cat接口是用于获取品牌分类列表的API接口。通过使用这个接口&#xff0c;我们可以获取到淘宝上…

DV、OV、EV证书

在保护您的网站并建立用户信任时&#xff0c;SSL证书起着关键作用。不同的SSL认证级别提供了不同的安全性和验证程度。在选择SSL证书时&#xff0c;了解DV&#xff08;域名验证&#xff09;、OV&#xff08;组织验证&#xff09;和EV&#xff08;扩展验证&#xff09;证书的差异…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之存储管理(3)》(16)

《Linux操作系统原理分析之存储管理&#xff08;3&#xff09;》&#xff08;16&#xff09; 5 存储管理5.6 分段存储管理&#xff08;1&#xff09; 地址结构&#xff08;2&#xff09; 段表&#xff08;3&#xff09; 地址变换机构&#xff08;4&#xff09; 存储共享&#x…

Nginx 常用操作命令

​ windows: tasklist /fi “imagename eq nginx.exe” 列出nginx实列nginx -t 或 nginx -tc /etc/nginx/nginx.conf 校验 nginx.confnginx -s stop fast shutdownnginx -s quit graceful shutdownnginx -s reload changing configuration, starting new worker processes wi…

使用JavaFX如何实现简易网盘程序

实现一个简易网盘可以分为以下几个步骤: 搭建基本框架:使用JavaFX创建一个界面,包括登录、注册、主页面等各个部分。 数据库设计:创建一个数据库并设计表格,包括用户表、文件表等。 用户管理:用户在注册时需要输入用户名、密码等信息,这些信息需要存储到用户表中。登录时…

【JMeter】菜单栏介绍

【菜单栏】 1. Tools 导入curl接口信息 作用&#xff1a;快速导入接口信息&#xff0c;响应头和缓存信息等 Log level临时修改日志等级 作用&#xff1a; 从勾选的level开始往更高等级level抓取log日志等级优先级&#xff1a; ALL < TRACE < DEBUG <INFO<WA…

RT_Thread_msh_系统msh命令、使用msh时过滤ulog日志、添加msh命令(不带/带参)

1、msh配置 msh功能是自动开启的&#xff0c;配置如下&#xff0c;可以在“RT-Thread Settings”里去修改。 调试过程中遇到msh不能使用&#xff0c;理解msh也是一个线程&#xff0c;有自己的优先级20&#xff0c;高优先级的线程&#xff08;比如main是10&#xff09;如果一直…

保护你的应用:Spring Boot与JWT的黄金组合

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 保护你的应用&#xff1a;Spring Boot与JWT的黄金组合 前言第一&#xff1a;项目整合基本配置token验证配置拦截器配置依赖的pom坐标 第二&#xff1a;Spring Security与JWT的…

软件测试 —— 冒烟测试(Smoke Test,ST)

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…