当前位置: 首页 > 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/news/307057.html

相关文章:

  • 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
  • 【系统分析师】-安全体系
  • 鸿蒙轻内核A核源码分析系列七 进程管理 (2)
  • 华为OD机试真题E卷-计算网络信号(含题目描述+解题思路+代码解析)
  • 记录一下gitlab社区版的安装教程
  • 通过TensorBoard查看服务器训练过程
  • 【LeetCode】每日一题 2024_9_15 与车相交的点(差分)
  • C语言编译原理
  • Parallels Desktop 20 发布下载,macOS Sequoia 和 Windows 11 24H2 支持准备就绪
  • 红外成像人员检测数据集
  • 基于C#+Mysql实现(界面)企业的设备管理系统