排序

# 冒泡

# 复杂度n^2

def BubbleSort(array):

    length = len(array)

    for i in range(length):

        for j in range(length-i-1):

            if array[j] > array[j+1]: array[j+1], array[j] = array[j], array[j+1]

    return array

# 快排

def quick_sort(b):

    """快速排序"""

    if len(b) < 2:

        return arr

    # 选取基准,随便选哪个都可以,选中间的便于理解

    mid = arr[len(b) // 2]

    # 定义基准值左右两个数列

    left, right = [], []

    # 从原始数组中移除基准值

    b.remove(mid)

    for item in b:

        # 大于基准值放右边

        if item >= mid:

            right.append(item)

        else:

            # 小于基准值放左边

            left.append(item)

    # 使用迭代进行比较

    return quick_sort(left) + [mid] + quick_sort(right)

堆排序

# 桶排序

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 插入排序def inster_sort(lists): count = len(lists) for ...
    _Haimei阅读 2,615评论 0 1
  • iOS中常用的排序方法有(冒泡、选择、快速、插入、希尔、归并、基数) 接下来就依次介绍一下,直接上代码 1、冒泡排...
    Leeson1989阅读 4,649评论 0 0
  • 各种排序算法总结[https://www.cnblogs.com/luohaixian/p/10575903.ht...
    hy男阅读 3,424评论 0 0
  • 来自简书:千锋Python小奶茶 链接:https://www.jianshu.com/p/e381a6052e3...
    Cherry_9b2a阅读 1,684评论 0 0
  • 排序算法 冒泡排序 选择排序 插入排序 快速排序(最常见) 希尔排序 归并排序 源码:Sorting 冒泡排序 冒...
    廖少少阅读 7,609评论 12 101

友情链接更多精彩内容