直接排序python实现

排序问题是算法领域非常经典的案例,其中的一些排序算法(例如堆排序)还用到了数据结构的知识。在最近一段时间,我打算将常见的排序算法都用python实现一遍,做一个排序算法总结,在必要的地方将给出算法的思想阐述。
今天先讲解最简单的直接排序,排序的思想非常暴力,就是将数组(或者列表)中的元素进行逐一比较。以从小到大排序为例,如果在数组中的某个元素小于前面的元素,那么就将这两个元素位置互换,直到每一个元素都小于后一个元素,最后一个元素是最大值。
代码如下:

a=[2,3,56,-89,-96,52]         #测试案例
b=len(a)                             #列表长度
for i in range(b):                   for j in range(i+1,b):if a[i]>a[j]:                   #如果后面的元素小于前面的元素则调换位置a[j],a[i]=a[i],a[j]
print(a)

直接排序python实现相关推荐

  1. 希尔排序python实现

    希尔排序python实现 希尔排序是直接插入排序的加强版,也称为减小增量排序.以从小到大排序为例进行简要分析. 算法思想 希尔排序的排序思想在先将原序列划分成若干个子序列,其中划分的依据为按照间隔ga ...

  2. 计数排序与桶排序python实现

    计数排序与桶排序python实现 计数排序 计数排序原理: 找到给定序列的最小值与最大值 创建一个长度为最大值-最小值+1的数组,初始化都为0 然后遍历原序列,并为数组中索引为当前值-最小值的值+1 ...

  3. 计数排序和桶排序——python和javascript实现

    计数排序 python版 不稳定计数排序 # 不稳定计数排序 def count_sort(arr):max,min = findMaxAndMin(arr)space = max - mincoun ...

  4. 空字符串计数、让字典可排序...Python冷知识(五)

    本文转载自Python编程时光(ID: Python-Time) 冷知识系列,直至今日,已经更新至第五篇.前四篇给你准备好了,还没阅读的可以学习一下. 谈谈 Python 那些不为人知的冷知识(一) ...

  5. python列表按照指定顺序排序-Python常见排序操作示例【字典、列表、指定元素等】...

    本文实例讲述了Python常见排序操作.分享给大家供大家参考,具体如下: 字典排序 按value排序 d1 = {"name":"python","b ...

  6. python工资津贴的计算和排序-python sort、sorted高级排序技巧

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...

  7. python循环输入若干学生信息保存到字典、并按学号排序,Python实现按学生年龄排序的实际问题详解...

    怎样用python进行年龄分段并且分享和排序?小编努力地向远方,站在高处,曾经是为了让你一眼看见小编,后来为了可以看见更多的人. ,怎样用最简单的Python语言将具体的年纪进行分段并且统计各年龄段d ...

  8. 字典统计排序python123_按值对字典进行排序Python(3级Dict)

    考虑使用sorted函数.使用this作为引用.对于这种情况,必须使用一个key函数来告诉python如何比较问题中字典的两个实体.然后,sorted函数返回一个您要迭代的列表.在 例如>> ...

  9. 1.10 编程基础之简单排序 10 单词排序 python

    http://noi.openjudge.cn/ch0110/10/ """ 1.10 编程基础之简单排序 10 单词排序 http://noi.openjudge.cn ...

最新文章

  1. 利用gitHook实现自动部署
  2. self.a 和 _a 的区别
  3. res里面的drawable(ldpi、mdpi、hdpi、xhdpi、xxhdpi)
  4. java mysql servlet_Java--用户登录(JDBC,MYSQL,Servlet)
  5. 操作系统饥饿现象_操作系统常见面试题
  6. Scott Hanselman 喊你来看看最新的极简APII
  7. Xshell 无法连接虚拟机中的ubuntu的问题
  8. snmp基本介绍--理解OID/MIB/snmp报文类型/snmp版本
  9. Java集合系列之四大常用集合(ArrayList、LinkedList、HashSet、HashMap)的用法
  10. node mysql 查询_Node.js使用mysql进行查询详解
  11. android: ListView设置emptyView 误区
  12. VBA代码翻译成Python调用示例
  13. 西门子g120变频器接线图_西门子变频器G120如何通过速度限幅来避免飞车的发生...
  14. 计算机键盘突然失灵,笔记本键盘突然用不了怎么办_笔记本键盘突然失灵怎么回事-win7之家...
  15. 数据结构与算法——RB树简介
  16. 微信公众号的封面图怎么拿到手
  17. Jmeter之常用断言总结篇
  18. Windows icon缓存的清理
  19. vmware打开多台虚拟机之后导致主机蓝屏的解决方法
  20. 高斯判别分析(GDA)公式推导

热门文章

  1. 我的linkedin profile
  2. SHADER 用 step替代 if-else
  3. Redis入门(暂不更新)
  4. 总结Themida / Winlicense加壳软件的脱壳方法
  5. 数据结构之优先队列--二叉堆(Java实现)
  6. 升腾联手VMware 发布首款本土化桌面虚拟化
  7. [转] 有什么郁闷的就看看这驴!
  8. 一個全世界最珍貴的故事(轉載)
  9. 杭电1232畅通工程
  10. linux不允许root用户登录图形界面的解决办法