Python排序搜索基本算法之冒泡排序实例分析

yipeiwu_com6年前Python基础

本文实例讲述了Python排序搜索基本算法之冒泡排序。分享给大家供大家参考,具体如下:

冒泡排序和选择排序类似,也是第n次把最小的元素排在第n的位置上,也是该元素的绝对位置,只是冒泡排序的过程中,其他的元素也逐渐向自己最终位置逼近。代码如下:

def bubbleSort(seq):
  length=len(seq)
  for i in range(length):
    for j in range(length-1,i,-1):
      if seq[j-1]>seq[j]:
        seq[j-1],seq[j]=seq[j],seq[j-1]
if __name__=='__main__':
  print("【听图阁-专注于Python设计】测试结果:")
  seq=[2,9,7,7,4,3,2,-4,54,-7,0]
  bubbleSort(seq)
  print(seq)

运行结果:

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python循环语句之break与continue的用法

Python循环语句之break与continue的用法

Python break 语句 Python break语句,就像在C语言中,打破了最小封闭for或while循环。 break语句用来终止循环语句,即循环条件没有False条件或者序列...

python通过TimedRotatingFileHandler按时间切割日志

python通过TimedRotatingFileHandler按时间切割日志

通过TimedRotatingFileHandler按时间切割日志 线上跑了一个定时脚本,每天生成的日志文件都写在了一个文件中。但是日志信息不可能输出到单一的一个文件中。 原因有二:1....

springboot配置文件抽离 git管理统 配置中心详解

springboot配置文件抽离,便于服务器读取对应配置文件,避免项目频繁更改配置文件,影响项目的调试与发布 1.创建统一配置中心项目conifg 1)pom配置依赖 <pa...

python 批量修改 labelImg 生成的xml文件的方法

概述 自己在用labelImg打好标签后,想只用其中几类训练,不想训练全部类别,又不想重新打标生成.xml文件,因此想到这个办法:直接在.xml文件中删除原有的不需要的标签类及其属性。...

详解Python 序列化Serialize 和 反序列化Deserialize

详解Python 序列化Serialize 和 反序列化Deserialize 序列化 (serialization) 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是...