ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python排序之快速排序

2022-05-15 14:00:17  阅读:173  来源: 互联网

标签:smaller 递归 python 区域 数组 array 排序 快速


快速排序

快速排序是比较常用的一种排序方式,通过递归的方法进行排序

首先使用递归方式我们先要解决两个问题:1找到基准条件 2找到递归条件

 

基线条件为数组为空或只包含一个元素。在这种情况下,只需原样返回数组——根本就不用排序

那么这样我们就会把数组长度小于2的定位我们基准条件

 

然后我们会将剩余数组进行分区,分为较大区域和较小区域,假设大区域和小区域都是无需排序的有序数组,那么我们将小区域加上基准加上大区域,就是最后我们排序后所需要的数组

那么我只需要把大区域和小区域进行递归直到大区域和小区域都完成排序

 代码实现:

def quickSort(array):
    larger = list()
    smaller = list()
    if len(array) < 2 :
        return array
    else:
        standard = array[0]
        for i in array[1:]:
            if i > standard:
                larger.append(i)
            else:
                smaller.append(i)
        return quickSort(smaller) + [standard] + quickSort(larger)

 

标签:smaller,递归,python,区域,数组,array,排序,快速
来源: https://www.cnblogs.com/yetangjian/p/16273037.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有