python复习冒泡排序
冒泡排序:
思路:
先找到最大值放到最右边:
#encoding=utf-8
a=[1,9,2,8,3,6,4]
print "a before change:",a
for i in range(len(a)-1):
if a[i] > a[i+1]:
a[i],a[i+1] = a[i+1],a[i]
print "a after change:",a
结果:
D:\>python test.py
a before change: [1, 9, 2, 8, 3, 6, 4]
a after change: [1, 2, 8, 3, 6, 4, 9]
找到最大值了,第二步找到次大值放到倒数第二个位置
#encoding=utf-8
a= [1, 2, 8, 3, 6, 4, 9]
for i in range(len(a)-1-1):
if a[i] > a[i+1]:
a[i],a[i+1] = a[i+1],a[i]
print "a after change:",a
结果:
D:\>python test.py
a before change: [1, 2, 8, 3, 6, 4, 9]
a after change: [1, 2, 3, 6, 4, 8, 9]
找到倒数第二大的值了
第三步找到倒数第三大的数放到倒数第三个位置
a=[1, 2, 3, 6, 4, 8, 9]
print "a before change:",a
for i in range(len(a)-1-1-1):
if a[i] > a[i+1]:
a[i],a[i+1] = a[i+1],a[i]
print "a after change:",a
结果:
D:\>python test.py
a before change: [1, 2, 3, 6, 4, 8, 9]
a after change: [1, 2, 3, 4, 6, 8, 9]
依次类推,最后可以把整个列表排好序
从整体的过程来看,每次循环做的事情基本一样,从左到右依次用当前位置的数和
后边的数做比较,如果前边的数大,就把两个数换位置,循环结束后可以得到所循环的树中最大的数
每一次循环不一样的是循环所遍历数据长度都比上一次少一个,一共需要循环的次数是列表a的长度,那么把这六次循环写到一起就可以变成两层循环
外边的循环控制循环的次数即6次,i的变化值是0,1,2,3,4,5,即range(len(a)-1)
里边的循环控制每次循环的长度,每次长度减少1,j变化值是6次,5次,4次,3次,2次,1次,即每次为range(len(a)-i-1)次
循环每次做的事情不动改变
即:
#encoding=utf-8
a=[1,9,2,8,3,6,4]
print "a before change:",a
for i in range(len(a)-1):
for j in range(len(a)-i-1):
if a[j] > a[j+1]:
a[j],a[j+1] = a[j+1],a[j]
print "a after change:",a
结果:
D:\>python test.py
a before change: [1, 9, 2, 8, 3, 6, 4]
a after change: [1, 2, 3, 4, 6, 8, 9]
转载于:https://www.cnblogs.com/xiaxiaoxu/p/10193279.html
python复习冒泡排序相关推荐
- python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例
冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...
- python实现冒泡排序视频_Python实现冒泡排序算法的完整实例
冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...
- python实现冒泡排序视频_Python实现冒泡排序
图文教程 上次,我们学习了Python中的循环.今天,我们做一个关于循环的练习,来加深大家的学习成果. 这个练习叫什么呢?我们就用Python实现冒泡排序 冒泡排序 要学习冒泡排序必须知道它的原理: ...
- python与冒泡排序
上一篇文章,介绍了一个非常快的排序算法--桶排序,但是它的缺点就是太耗资源了,这次要实现的算法就不用太耗资源了,它就是冒泡排序. 问题提出: 将以下数据升序排列:9, 2, 8, 6, 4 冒泡排序原 ...
- day08 操作索引脏读、幻读、不可重复读 python复习
day08 操作索引脏读.幻读.不可重复读 python复习 昨日内容复习 视图 把sql语句查询结果保存下来,结果就叫视图视图的数据来自于原始表,在硬盘中只有表结构 create view 视图名称 ...
- Python实现冒泡排序的代码
以下是Python实现冒泡排序的代码: 格式有点问题,重新调整一下,如下: def bubbleSort(nums):# 设置一个flag,用来判断某次循环是否发生了交换flag = Truefor ...
- [强化学习代码笔记]Python复习
文章目录 Python复习 1. 介绍 2. 编写规范 3. 基本语法 一切都是对象 查看帮助 空/否定 保留字 as assert del try...except...finally global ...
- Python复习笔记——基础知识
Python复习笔记-基础知识 文章目录 Python复习笔记-基础知识 Python变量 基于值的内存管理方式 赋值语句的执行过程 Python定义变量名的规范 运算符和表达式 加+ 乘* 除/ % ...
- python实现冒泡排序完整算法_利用python实现冒泡排序算法实例代码
利用python实现冒泡排序算法实例代码 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数 ...
最新文章
- 普元王葱权:数字化时代需要新一代的大数据应用平台架构
- TEXTMETRIC 结构详解
- 10Linux服务器编程之:opendir()函数,readdir()函数,rewinddir()函数,telldir()函数和seekdir()函数,closedir()函数
- Exchange2007 申请安装证书
- C++图解前缀树(字典树)
- 12.4日团队工作总结
- POJ 1321 棋盘问题(回溯)
- Tensorflow——会话
- mos管的rc吸收电路计算_MOS/CMOS集成电路简介及N沟道MOS管和P沟道MOS管
- PHP和ajax请求_「jQuery+PHP」ajax请求以及接口PHP响应教程
- 论文赏析[TACL18]隐式句法树模型真的能学到句子中有意义的结构吗?
- thinkphp页面请求时间超过40S报404错误解决办法
- Java爬取酷狗音乐歌单
- Vulkan_Ray Tracing 08_光照、材质、阴影
- 为什么要创建SRT?
- python高级练习题:转换所有的案件!【难度:3级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
- E - Alarm Clock (尺取法)
- css js 简单的径向菜单学习笔记
- 计算机类(计算机科学与技术)大学生职业生涯规划书
- 计算机电子琴歌声号码,电子琴歌音色节奏一览表.xls