前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何实现快速排序

如何实现快速排序

作者头像
算法与编程之美
发布2023-11-29 13:34:25
1090
发布2023-11-29 13:34:25
举报

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代码输入实验,证明该方法是有效的,本文的方法需要额外开辟空间给用于归类的列表,未来可以继续研究如何使用更简洁更快的代码来进行快速排序。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档