很多小伙伴想知道python中有什么排序算法?那么今天小编就通过这篇文章来给大家介绍3个在python中常见的排序算法,感兴趣的小伙伴可以耐心阅读一下小编的文章,相信大家一定能够从中收获不少的知识 。
文章插图
小编通过统计,我们在python开发中,一般常用的排序算法有以下三个:
- 冒泡排序,相邻位置比较大小,将比较大的(或小的)交换位置;
- 选择排序,遍历选择一个最小的数与当前循环的第一个数交换;
- 快速排序:将子段的第一个元素做为中值,先从右向左遍历,如过比中值大high-1,如果比中值小,将这个值放到low那里 。
(1)冒泡排序
相邻位置比较大小,将比较大的(或小的)交换位置,详细代码如下:
def maopao(a): for i in range(0,len(a)): for j in range(0,len(a)-i-1): if a[j]>a[j+1]: temp = a[j+1] a[j+1] = a[j] a[j] = temp #print(a) #print(a) print(a)(2)选择排序
遍历选择一个最小的数与当前循环的第一个数交换,详细代码如下所示:
【python有什么排序算法?这3个常见的排序算法你要知道】def xuanze(a): for i in range(0,len(a)): k=i temp = a[i] for j in range(i,len(a)): if a[j]<temp: temp = a[j] k = j a[k] = a[i] a[i] = temp print(a)(3)快速排序
将子段的第一个元素做为中值,先从右向左遍历,如过比中值大high-1,如果比中值小,将这个值放到low那里 。然后从左向右开始遍历,如果左侧的比中值大,将他放到high那里 。当low>=high时,将中值的值赋给low 。代码如下所示:
a =[7,1,3,2,6,54,4,4,5,8,12,34]def sort(a,low,high): while low < high: temp = a[low] while low < high and a[high]>=temp: high = high-1 a[low]=a[high] while low<high and a[low]<temp: low = low+1 a[high]=a[low] a[low]=temp return lowdef quicksort(a,low,high): if low<high: middle = sort(a,low,high) quicksort(a,low,middle) quicksort(a,middle+1,high) print(a)sort(a,0,len(a)-1)quicksort(a,0,len(a)-1)print(a)
推荐阅读
- mysql与mssql的区别是什么?看完这篇文章你就知道了
- 如何把Python一段代码注释掉?这四个方法你值得学习
- python和r哪个更难?这篇文章告诉你答案
- append在python里是什么?这篇文章看完你就知道了
- Python的内存管理机制是什么?这三个是关键点
- 最特别的七夕情人节说说 2021七夕节朋友圈说说个性有创意
- 十分有心感人的教师节说说 2021教师节感谢恩师的祝福
- 双12和双11哪个优惠大?双12和双11有什么不同?
- 淘宝描述不符如何处理?处罚是什么?
- 淘宝流量是什么意思?流量和访客哪个重要?