python排序的方法实例总结
作者:小妮浅浅 发布时间:2023-09-10 15:57:49
标签:python,排序方法
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
0
投稿
猜你喜欢
- python实现PSO算法优化二元函数,具体代码如下所示:import numpy as np import random import m
- 经常使用word办公的小伙伴们经常会遇到邮件合并的任务,通常会将数量有限的表格中的信息通过word的邮件合并功能,自动生成word文档,操作
- 篇首语:原来改mdb为asp就能防下载是鬼话。 引子:昨天和animator试验了一下,把data.mdb文件改名为data.as
- 在继承的使用上,我们最早接触的是父类和子类的继承。不过Flask框架中的继承要简单一些,只要有一个原文件,便可以对其进行继承和修改的操作了。
- <div class=”A” style=”position:relative;”>A 
- 首先,我们看看models.py里的模型,有个upload_to参数,为了和过去一刀两断,楼主决定给upload_to赋值一个新的值叫ava
- 鼠标双击滚动屏幕,单击停止滚动,很多小说新闻网站都有这个很人性化的功能,阅读起小说、新闻来很方便,不用手动拉滚动条。js代码如下:<h
- 本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下# coding:utf-8from
- 在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式
- 在使用Python的过程中,一定是离不开数据结构的, 也就是List-列表,Tuples-元组,Dictionaries-字典。那实际应用中
- 简介:上文中已经介绍如何安装Pycharm已经环境变量的配置。现在软件已经安装成功,现在就开始动手做第一个Python项目。第一个“Hell
- 研究网页编码很长时间了,因为最近要设计一个友情链接检测的VBS脚本,而与你链接的人的页面很可能是各种编码,以前采取的方法是:如果用GB231
- 目标在本章中,将学习"Harris Corner Detection”背后的思想函数:cv2.cornerHa
- andom.sample(list, n)即是从list中随机选取n个不同的元素# -*- coding: utf-8 -*- import
- Python全局锁(1)全局锁导致的问题全局锁的英文简称是GIL,全称是Global Interpreter Lock(全局解释器锁),来源
- 只要把下面代码放到index.asp或者default.asp中,只要在首页代码顶部引用call Check_Wap(),这个也是我的工程中
- 抽象类作用:抽象类就是控制子类的方法的名称,要求子类必须按照父类的要求的实现指定的方法,且方法名要和父类保持一致一、问题场景主要使用场景是这
- 最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具。以前老是做UI程序,今天试
- 本文介绍如何利用带进度条的ASP无组件实现断点续传下载大文件。<%@LANGUAGE="VBSCRIPT"&nbs
- 一、安装xlrd地址下载后,使用 pip install .whl 安装即好。查看帮助:>>> import xlrd&g