python排序的方法实例总结
作者:小妮浅浅 时间:2023-09-10 15:57:49
1、冒泡排序
它反复访问要排序的元素列,并依次比较两个相邻的元素。如果顺序(如从大到小)错了,就交换它们。访问元素的工作是反复进行,直到没有相邻元素需要交换,也就是说元素列已经排序完成。
2、选择排序
首次从待排序的数据元素中选择最小(或最大)的元素,存储在序列的开始位置,然后从剩余的未排序元素中找到最小(大)元素,然后放在已排序的末尾。直到所有元素都被排序。
3、插入排序
对于未排序的数据,通过构建有序的序列,在已排序的序列中从后向前扫描,找到相应的位置并插入。插入式排序在实现上,在从后向前扫描的过程中,需要反复将已排序的元素逐步向后移动,为最新的元素提供插入空间。
4、快速排序
将要排序的数据通过一次排序分成两个独立的部分,其中一个部分的所有数据都小于另一个部分的所有数据,然后按照这种方法对这两个部分的数据进行快速排序,整个排序过程可以递归进行,从而使整个数据成为有序的序列。
5、希尔排序(插入排序改进版)
首先,将要排序的一组数量按某个增量d分为几个组,每组中记录的下标相差d,对每组中的所有元素进行排序,然后用较小的增量对其进行分组,然后对每组进行排序。当增量减少到1时,整个要排序的数量被分成一组,排序完成。
6、归并排序
首先递归分解组,然后合并组。基本思路是比较两个数组的面的数字,谁小就先取谁,取后相应的指针向后移动一个。然后再比较,直到一个数组是空的,最后复制另一个数组的剩余部分。
实例扩展:
>>> data1=[4,2,6,432,78,43,22,896,42,677,12]
>>> data1.sort()
>>> data1 #原来的顺序被替换
[2, 4, 6, 12, 22, 42, 43, 78, 432, 677, 896]
>>> data1=[4,2,6,432,78,43,22,896,42,677,12]
>>> data2=sorted(data1)
>>> data1
[4, 2, 6, 432, 78, 43, 22, 896, 42, 677, 12] #原顺序保留
>>> data2
[2, 4, 6, 12, 22, 42, 43, 78, 432, 677, 896] #对副本排序
>>>
来源:https://www.py.cn/jishu/jichu/30125.html
标签:python,排序方法
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python NumPy教程之数据类型对象详解
2022-03-29 09:05:19
详解Python中的分支和循环结构
2023-07-19 11:56:21
如何选择合适的MySQL存储引擎
2009-02-04 13:02:00
SQL Server序列SEQUENCE用法介绍
2024-01-21 02:43:21
![](https://img.aspxhome.com/file/2023/0/119210_0s.jpg)
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2024-04-26 17:11:30
Python标准异常和异常处理详解
2021-02-23 05:10:36
python中Matplotlib绘制直线的实例代码
2022-09-24 18:27:52
Python如何计算语句执行时间
2023-03-20 23:04:03
SQL离前端有多远?
2009-05-21 10:37:00
Python实现邮件自动下载的示例详解
2023-06-15 04:44:35
![](https://img.aspxhome.com/file/2023/2/123792_0s.png)
原生JS实现非常好看的计数器
2024-04-19 09:59:20
![](https://img.aspxhome.com/file/2023/5/135965_0s.gif)
Python boxplot 用法详解
2021-10-24 07:56:11
![](https://img.aspxhome.com/file/2023/6/135156_0s.png)
excel导入到SQL Sever数据库
2008-03-25 10:24:00
Windows下安装python2和python3多版本教程
2021-06-06 07:10:59
![](https://img.aspxhome.com/file/2023/7/111887_0s.png)
Python实现找到同名文件并复制到其他文件夹中
2022-03-16 21:53:14
![](https://img.aspxhome.com/file/2023/8/113138_0s.png)
在网页中显示可拖动月历
2010-07-13 12:09:00
![](https://img.aspxhome.com/file/UploadPic/20072/20072311321977s.gif)
阿里云服务器新建用户具体方法
2024-01-22 19:08:51
SQL Server数据库连接中常见的错误分析
2009-01-15 12:51:00
Python爬虫获取页面所有URL链接过程详解
2022-01-31 10:48:46
PHP Session ID的实现原理与实例
2023-07-13 13:36:53