快速排序python实现

2023-11-03

简述过程:

1.设置标准值为列表第一个prime = lst【0】

2.设置指针cur1 和 cur2,初始位置的索引分别为0和len(lst)-1(cur1和cur2描述的是索引index)

指针2 从列表后方向前遍历 找到比标准值小或者和标准值相等时停下

指针1遍历的范围由指针2约束 即 只在(0,cur2)之中运动当指针所对的值大于标准值时停下

3.交换cur1和cur2的值

4.当cur2为0时说明一次循环结束

 

def quick_sort(lst):
    tracker = True
    while tracker:  
        prime = lst[0]
        cur2 = len(lst) - 1
        cur1 = 0
        for i in range(len(lst)-1, -1, -1):  
            if lst[i] <= prime:
                cur2 = i
                break
        if cur2 == 0:  # 结束循环
            tracker = False
            break
        for g in range(1, cur2): 
            if lst[g] > prime:
                cur1 = g
                break
        lst[cur1], lst[cur2] = lst[cur2], lst[cur1]
    return lst
lst = [6, 2, 4, 6, 5, 9]
print(quick_sort(lst))

有错误或者有更好的实现方法,希望大家告诉我!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速排序python实现 的相关文章

  • Python中Decimal类型的澄清

    每个人都知道 或者至少 每个程序员都应该知道 http docs oracle com cd E19957 01 806 3568 ncg goldberg html 即使用float类型可能会导致精度错误 然而 在某些情况下 精确的解决方
  • Python Popen 与 psexec 挂起 - 不良结果

    我对 subprocess Popen 和我认为是管道的问题有疑问 我有以下代码块 从 cli 运行时 100 都不会出现问题 p subprocess Popen psexec serverName get cmd c ver echo
  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • python 中的代表

    我实现了这个简短的示例来尝试演示一个简单的委托模式 我的问题是 这看起来我已经理解了委托吗 class Handler def init self parent None self parent parent def Handle self
  • 如何正确地将 MIDI 刻度转换为毫秒?

    我正在尝试将 MIDI 刻度 增量时间转换为毫秒 并且已经找到了一些有用的资源 MIDI Delta 时间刻度到秒 http www lastrayofhope co uk 2009 12 23 midi delta time ticks
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • if 语句未命中中的 continue 断点

    在下面的代码中 两者a and b是生成器函数的输出 并且可以评估为None或者有一个值 def testBehaviour self a None b 5 while True if not a or not b continue pri
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 使用 OLS 回归预测未来值(Python、StatsModels、Pandas)

    我目前正在尝试在 Python 中实现 MLR 但不确定如何将我找到的系数应用于未来值 import pandas as pd import statsmodels formula api as sm import statsmodels
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • 迭代 my_dict.keys() 并修改字典中的值是否会使迭代器失效?

    我的例子是这样的 for my key in my dict keys my dict my key mutate 上述代码的行为是否已定义 假设my dict是一本字典并且mutate是一个改变其对象的方法 我担心的是 改变字典中的值可能
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x
  • Python 无法使用套接字绑定我的外部/公共 IP 地址,给出错误但是当使用本地 IP 地址时,错误不会显示

    这是出现主要错误的代码 与我的本地 IP 的绑定将起作用 s bind 192 168 1 4 port 与我的公共 IP 的绑定失败并出现以下错误 s bind 99 99 99 99 port WinError 10049 请求的地址在
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • python创意小作品-全国青少年创意编程与智能设计大赛Python创意编程比赛

    全国青少年创意编程与智能设计大赛Python创意编程比赛 一 作品类型 1 数字艺术 通过程序生成和展示视觉艺术 具备创意 美感和互动性 2 互动游戏 各种竞技类 探险类 角色扮演类 球类 棋牌类游戏等等 3 实用工具 有实用价值 能解决学
  • vscode js文件没有代码提示

    原因是 产生问题的原因可能是关闭了单纯的js文件中的javascript的提示 1 右下角设置 2 在上边输入 javascript suggest enabled 效果图
  • VBA:对Excel单元格进行合并操作

    Sub hb Dim n n 3 For i 3 To 18 If Range b i lt gt Range b i 1 Then Range b n b i Merge n i 1 End If Next End Sub
  • 自动化测试和性能测试的异同

    对于那些刚刚接触软件测试行业的小白来说 都会有这样一种错觉 觉得性能测试和自动化测试是差不多的 但是如果深入了解 会发现这两者的区分还是很大的 接下来我们就来详细了解一下自动化测试和性能测试的异同之处 首先两者都有一个共同点 那就是在处理脚
  • mysql 投影,MySQL —— select

    select语句使用详解 select语句是基础操作中比较复杂的部分 我们单拿出来详细解析一下 还是以上一篇文章里的student表为例 select from student 查询student表中所有记录 create table st
  • Clion 使用自己编写的 Makefile编译

    Clion 目前支持使用 cmake 来编译代码 如果习惯了自己写 makefile 那么还需要通过 cmake 的 add custom target 来调用make 命令来实现编译了 参考了http stackoverflow com
  • LoadRunner参数化详解

    LoadRunner参数化详解 距离上次使用loadrunner 已经有一年多的时间了 初做测试时在项目中用过 后面项目中用不到 自己把重点放在了工具之外的东西上 认为性能测试不仅仅是会用工具 最近又想有一把好的利器毕竟可以帮助自己更好的完
  • 明天全国哀悼日,小程序只需三行代码秒变黑白

    明天全国哀悼日 小程序只需三行代码秒变黑白 打开你的 app wxss 文件 在第一行加上 page filter grayscale 100
  • postgresql Insert插入的几个报错

    postgresql Insert插入的几个报错 1 org postgresql util PSQLException 未设定参数值 2 的内容 2 postgresql column reference is ambigious 参考
  • GD32的ADC模块简介

    ADC模块简介 驱动板所使用的主控芯片为GD32C103CB 该芯片总共有2个ADC单元 即ADC0 ADC1 因为驱动板上使用的是LQFP48封装 所以该芯片的每个ADC单元只有10个外部模拟输入通道 并且共用相同的GPIO口 这10个外
  • 第1关:用Bison构建逆波兰计算器

    任务描述 相信大家通过flex的实验已经掌握了如何构建一个词法分析器 但是为了创建一个完整的编译程序 我们还需要一个语法分析器 同样的 我们可以使用现有的工具来节省开发的时间 也就是Unix下的YACC和GNU Linux下的Bison 相
  • AV1:为互联网提供开放、免费的视频编解码工具

    从学术研究到进入工业界 Zoe Liu一直在算法和音视频领域 目前在谷歌编解码团队为编解码器AV1做开发支持 Zoe畅谈了评定编解码器的标准 以及AV1的最新进度 本文是 下一代编码器 系列采访之一 欢迎自荐或推荐技术人加入 下一代编码器
  • 《我的眼睛--图灵识别》第九章:训练:制作识别字库

    我的眼睛 图灵识别 第九章 训练 制作识别字库 为什么要做字库 做字库就好比我们要上学念书一样 学习储备知识 这样才能认识文字不是吗 好好学习 1 像素点阵 什么是点阵 对于一个屏幕显示屏来说 就是利用无数个点组成的矩形平面 通过设置每个点
  • vue项目 Network: unavailable的解决办法

    vue项目 Network unavailable 问题 问题描述 使用vue3 0 的版本 在自己电脑上开发项目 启用项目后 只能用localhost访问项目 十分不便 不能使用手机浏览器或其他人访问 如下图所示 解决方案 在devSer
  • The reference to entity "useSSL" must end with the ';' delimiter.

    在搭建测试环境的hive的时候 发现启动的时候 经常报以下警告信息 Thu May 14 09 52 26 CST 2020 WARN Establishing SSL connection without server s identit
  • 51单片机ROM和RAM

    文章目录 TOC 文章目录 一 51单片机的程序存储器结构 1 内部结构 2 程序存储器的7个特殊地址 二 51单片机的数据存储器 1 片内数据存储器 2 片外数据存储器 提示 以下是本篇文章正文内容 下面案例可供参考 一 51单片机的程序
  • Python 控制舵机

    原理 UNO R3中写入控制舵机转动度数的程序 该程序一直检测 serial是否又数据 有则操作舵机 python程序负责向 serial 写入数据 并可以通过serial读取 舵机角度的信息 1 硬件连接 说明 示例中的信号线接的是10号
  • 关于 dell 戴尔 工作站 首次开机 start pxe over ipv4 以及 关闭PXE后还没有网络的 新款 bios 设置

    当你关闭bios后进去了发现木有网卡 或者拔掉网线进去电脑后插上网线木有网卡 新款bios设置截图 三个选项分别是 Disable 关闭 The internal LAN is off and not visibleto the opera
  • 人脸识别OPENCV

    usr bin python coding UTF 8 文件名 test py import os fb open a txt w with open at txt r as alc i 0 for line in alc print li
  • 快速排序python实现

    简述过程 1 设置标准值为列表第一个prime lst 0 2 设置指针cur1 和 cur2 初始位置的索引分别为0和len lst 1 cur1和cur2描述的是索引index 指针2 从列表后方向前遍历 找到比标准值小或者和标准值相等