当前位置: 首页 > article >正文

冒泡,选择,快速-排序

冒泡

l = [5, 9, 1, 3, 8, 2, 7, 4]
for i in range(len(l)):
    for j in range(len(l) - i - 1):
        if l[j] > l[j + 1]:
            l[j], l[j + 1] = l[j + 1], l[j]
print(l)

选择

l = [5, 9, 1, 3, 8, 2, 7, 4]
for i in range(len(l)):
    min_index = l.index(min(l[i:]), i)
    l[i], l[min_index] = l[min_index], l[i]
print(l)

快排

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = []
    right = []
    for i in range(len(arr)):
        if i != len(arr) // 2:
            if arr[i] < pivot:
                left.append(arr[i])
            else:
                right.append(arr[i])
    print(left, pivot, right)
    return quick_sort(left) + [pivot] + quick_sort(right)
l = [5, 9, 1, 3, 8, 2, 7, 4]
print(quick_sort(l))

http://www.kler.cn/a/307057.html

相关文章:

  • 数据分析那些事儿——时间片轮转实验
  • 使用Matlab神经网络工具箱
  • 微信小程序_模板与配置_day2
  • 光流法与直接法在SLAM中的应用
  • 漏洞挖掘 | 某医院小程序支付漏洞+越权
  • 【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
  • nestjs cache manager 很ioredis配合使用方案
  • Python Pyvis库创建交互式网络图 高级功能详解
  • 设计模式---中介者模式
  • 智能客服 | AI助理与内部知识库如何优化用户体验
  • 机器学习-深度学习数据集之打架斗殴识别数据集
  • Mysql InnoDB 存储引擎简介
  • Python 解析 JSON 数据
  • RabbitMQ高级篇,进阶内容
  • 【题解】AT_arc035_b [ARC035B] アットコーダー王国のコンテスト事情
  • 手势开关灯
  • 宿舍管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 【Kubernetes】常见面试题汇总(十八)
  • git rev-parse
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • BM5 合并k个已排序的链表
  • 一、机器学习算法与实践_01基本概念与项目流程笔记
  • 一句话描述设计模式
  • 深入分析计算机网络性能指标
  • 无人机培训机构组装调试技术详解
  • 【我的 PWN 学习手札】Fastbin Double Free