Python实现排序算法之快速排序

Python实现快速排序原理首先选取任意一个数据(通常选取数组的第一个数)作为关键数据,然后将所有比它小的放到它前面,所有比它大的放到它后面,这个过程称为一趟快速排序快速排序原理图如下:实现

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Python实现排序算法之快速排序此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

Python实现排序算法:快速排序、冒泡排序、插入排序、选择排序、堆排序、归并排序和希尔排序

Python实现快速排序

原理

  首先选取任意一个数据(通常选取数组的第一个数)作为关键数据,然后将所有比它小的放到它前面,所有比它大的放到它后面,这个过程称为一趟快速排序

  快速排序原理图如下:

Python实现排序算法之快速排序

实现

#coding=utf-8

#python实现快速排序
def quick_sort(li,start,end):
    if start < end:
        flag = li[start]
        print(flag)
        i = start
        j = end
        print ("i=%d;j=%d" %(i,j))
        b = True
        while(i < j):
            while(li[j] >= flag and j > i):
                j = j -1
            li[i] = li[j] 
           
            while(li[i] <= flag and j > i):
                i = i+ 1
            li[j] = li[i]  
            
        li[i] = flag
        print(li)
        quick_sort(li, start, i-1) 
        quick_sort(li, j+1, end) 
        
    
if __name__ == "__main__":
    li = [30,40,60,10,20,50]
    quick_sort(li,0,len(li) - 1)
    

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120202.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • c数组移除指定元素方法_删除数组中的某个对象

    c数组移除指定元素方法_删除数组中的某个对象方式一:通过差集的方式排除0newList<int>{0,1,2,3,4,5}.Except(newList<int>{0}).ToList()方式二:先去重,在排除0varlist=newList<int>{0,1,2,3,4,5,0}.Distinct()list.Remove(0);

  • 暗影骑士擎bios详解_runloop原理和机制

    暗影骑士擎bios详解_runloop原理和机制Runloop什么是Runloop?从字面上讲就是运行循环。它内部就是do-while循环,在这个循环内部不断地处理各种任务。一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法)RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0、Sources1)、Timer,那么就直接退

    2022年10月28日
  • 免费的api数据接口_期货数据接口api

    免费的api数据接口_期货数据接口api一些免费数据API接口

  • Windows中IIS和Serv-U两种方式搭建FTP服务[通俗易懂]

    Windows中IIS和Serv-U两种方式搭建FTP服务[通俗易懂]FTP是文件传输协议。用于互联网双向传输,控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间。iis搭建ftp站点Windows中使用IIS搭建ftp站点需要先在控制面板中启动IIS服务,步骤如下:选择程序点击“启用或关闭Windows功能”按如下启用相关Windows功能:至此,IIS服务已启用,直接搜索iis并打开:展开左侧选项,右击“网站”,…

  • 2019/7/3

    2019/7/31176E-Coverit!树的题常与层数,出度有关

  • Android Toast的几种使用方式「建议收藏」

    Android Toast的几种使用方式「建议收藏」Toast是Android中常用的组件,下面介绍下Toast使用的几种方式和注意事项。Toast的使用方式简单来说有下面五种:1、默认的显示//第一个参数:当前的上下文环境。可用getApplicationContext()或Activity的context//第二个参数:要显示的字符串。也可是R.string中字符串ID//第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000msToast

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号