python实现快速排序的示例(二分法思想)
发布时间:2020-12-17 07:21:25 所属栏目:Python 来源:网络整理
导读:本文介绍了python实现快速排序的示例(二分法思想),分享给大家,具体如下: 实现思路 将所需要的数字存入一个列表中 1.首先,设置将最左侧的那个数设置为基准数,在列表中索引为0 2.然后设置两个移动位(用于比较),分别为最左边和最右边 3.然后最右边那位向
本文介绍了python实现快速排序的示例(二分法思想),分享给大家,具体如下: 实现思路 将所需要的数字存入一个列表中 1.首先,设置将最左侧的那个数设置为基准数,在列表中索引为0 看下图你就明白了: 实现代码 # coding: utf-8 # 快速排序,利用二分思想实现 def quick_sort(list,left,right): if left > right: return temp = list[left] i = left j = right while i != j: # 先从右向左寻找 while list[j] >= temp and i < j: j -= 1 # 再从左向右寻找 while list[i] <= temp and i < j: i += 1 if i < j: t = list[i] list[i] = list[j] list[j] = t # 基准数替换 list[left] = list[i] list[i] = temp # 递归调用 quick_sort(list,i - 1) quick_sort(list,i + 1,right) while True: list = [] try: num = int(input('你想比较几个数?n')) except ValueError: continue for k in range(num): a = int(input('请输入第' + str(k+1) + '个数:n')) list.append(a) quick_sort(list,num-1) print('排序结果为:') for l in range(len(list)): print(list[l],end=' ') print() 快速排序比较冒泡排序效率要高得多~ 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用phantomjs进行网页抓取的实现代码
- python – pygame – 如何从get_pos中分割X和Y坐标
- python – django postgresql OperationalError:索引行大小
- Python居然还能用于巨大的工程项目!比如三峡发电量估算系统
- python – ValueError:基数为10的int()的无效文字:
- python基础学习11----函数
- Django如何实现内容缓存示例详解
- 零基础写python爬虫之urllib2中的两个重要概念:Openers和H
- Python Windows无法使用无效字符的stat文件
- Python的Tornado框架实现图片上传及图片大小修改功能