



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Phtyon编程【相邻比拟的冒泡排序】如果按照得分高那么名次靠前的原那么,需要将io位选手的最终得 分按照从高到低进行排序,那么计算机是如何完成对选手成绩的排 序呢?在程序设计中,冒泡排序是比拟常见的一种排序算法。下面, 一起来探究该算法的实现过程。通过本节的学习,你将掌握以下技了解冒泡排序的基本概念。理解冒泡排序算法过程的执行过程。学会用冒泡排序进行数据的升序或降序排序。.冒泡排序算法的执行过程所谓冒泡排序,就是从初始位置开始,每次对相邻两个数据进 行比拟,如顺序无误那么保持位置不变,顺序错误那么交换位置,不断 进行下一次比拟,直至数据顺序调整完毕。(1)观察冒泡排序的基本过程。以对9、8、
2、3、1、2从小到大排序为例,两轮冒泡排序过程如 图所示。根据下列图,推演冒泡排序的全部过程。第一轮排序:当前序列:9, 8, 3, 1, 2第一次:8, 9, 3, 1, 2冤二次:& 3, 9, 1, 2 第三次:8, 3, 1, 9, 2第四次:8, 3, 1, 2, 9本次结果:8 3, 1, 2, 9第二轮排序:当前序列:8, 3, 1, 2, 9第一次:3, 8, 1, 2, 9第二次:3, 1, 8, 2, 9第三次:3, 1, 2, 8, 9本次结果:3, L 2, 8, 9讨论如何进行第3轮比拟呢?(2)分析冒泡排序的基本规律。观察并分析冒泡排序的规律,大家一起交流提供。例如,
3、排序时从数据某一端开始,对相邻数据进行两两比拟; 比拟后的数据根据排序规那么进行交换或保持原位置不变;如果有n 个数参与排序,第1轮比拟次数为n-1次,等等。讨论n个数进行冒泡排序,除第1轮比拟外,每轮比拟需要n-1次 吗?一共需要比拟多少轮?通过观察分析,我们会发现冒泡排序每一轮比拟结束后至少有 一个数到达相应位置。从上述例子来看,第1轮比拟结束后,最大 数9到达最右侧;第2轮比拟从第1个位置重新开始,结束后,次大 数8(本轮比拟中的最大数)到达从右侧J数第2个位置。依次类推, 完成数据排序。.编写冒泡排序程序进行实验通过使用双重循环,很容易实现冒泡排序的程序设计:用外层 循环控制比拟轮次,
4、用内层循环控制每轮内的数据比拟次数;每次 比拟后可显示比拟结果,每轮比拟后显示当前结果。通过排序实验 的过程数据,会直观地看出整个冒泡排序的过程。实验中,可用 “#”临时屏蔽每次比拟后的结果显示,直观观察所有轮次的比拟 过程。1 s = 9,8,7,6,53,3,2,1# 9个测试数据存储在s0-s8#控制比拟轮数# 9个测试数据存储在s0-s8#控制比拟轮数2 print(参与排序的数据:”,s)3 for k in range(0 (len(s) - 1):456789for i in range(0; (len(s) - k) - 1):# 每轮比拟次数if (si s(i + 1):#
5、判断相邻两数值的大小I si, s(i + 1) = s(i + 1), si #符合判断条件情况,交换位置printed, i + 1,轮比拟结果:,s) #显示比拟过程print(j k + 1,轮比拟结果:,s) #显示当前结果#print()冒泡排序测试程序 TOC o 1-5 h z 参与排序的数据:9, 8, 7, 6, 5, 4, 3, 2, 1 第1次比拟结果:8,9,7,6,5,4,3,2,1第2次比拟结果:8,7,9,6,5,4,3,2,1第3次比拟结果:8,7,6,9,5,4,3,2,1第4次比拟结果:8,7,6,5,9,4,3,2,1第5次比拟结果:8,7,6,5,4,
6、9,3,2,1第6次比拟结果:8,7,6,5,4,3,9,2,1第7次比拟结果:8,7,6,5,4,3,2,9,1第8次比拟结果:8,7,6,5,4,3,2,1,9第1轮比拟结果:8,7,6,5,4,3,2,1,9第1轮比拟过程参与排序的数据:9, 8, 7, 6, 5, 4, 3, 2, 1 第1轮比拟结果:8,7,6,5,4,3,2,1,9第2轮比拟结果:7,6,5,4,3,2,1,8,9第3轮比拟结果:6,5,4,3,2,1,7,8,9第4轮比拟结果:5,4,3,2,1,6,7,8,9第5轮比拟结果:4,3,2,1,5,6,7,8,9第6轮比拟结果:3,2,1,4,5,6,7,8,9第7
7、轮比拟结果:2,1,3,4,5,6,7,8,9第8轮比拟结果:1,2,3,4,5,6,7,8,9所有轮次的比拟结果在程序中:在range(起始值,终止值,步长)函数中,步长默认为1。len(参数)函数用于返回参数的长度,参数可以是字符串、元 组、列表等。外层循环中,比拟轮次的循环变量不大于排序元素个数。注 意通过减1来调整。在内层循环中,因为随着轮次增加,每轮需要比拟的数据越 来越少,所以用len(s)-k-l调整循环终值。本程序运用了测试数据,更容易理解,在实践打分时可更换 为成绩列表。讨论.用测试数据运行程序有什么好处?.如何删除测试数据,为选手得分排序?.用冒泡排序的降序方式为选手成绩排
8、序冒泡排序不仅可以升序排序,通过修改比拟运算符,还可以进 行降序排序。参考以下程序,请对选手成绩从高到低进行排序。s = 5,3,6,0,4,1,7,5,9.63.7,7,2,8,6,6.3,9.2 # 选手成绩列表for k in range(0, len(s) - 1):for i in range(len(s) - k - 1):I if (si (len(s) - 1):for i in range(len(s) - k) - 1):if (si si + 1):#判断相邻两数值的大小si, si + 1 = si + 11si #小数交换到后面位置 ci, ci + 1 = ci + 1, ci # 编号同步交换for i in range(0 len(s):print(第%的 得分:%.2f 选手:s” %(i+l,si,ci)编号对应程序 prin”第%d 名 得分:. 2f 选手:s - %(i+l, si, ci) 语句中采用了输出格式的设置。%f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泉州工程职业技术学院《过程控制专业实验》2023-2024学年第二学期期末试卷
- 泉州纺织服装职业学院《注册电气工程师概论》2023-2024学年第二学期期末试卷
- 上海科技大学《会计制度设计》2023-2024学年第二学期期末试卷
- 商丘师范学院《信息安全攻防对抗实训》2023-2024学年第二学期期末试卷
- 兴安职业技术学院《机器学习与人工智能导论》2023-2024学年第二学期期末试卷
- 3《植物妈妈有办法》教学设计-2024-2025学年统编版语文二年级上册
- 人教版七年级历史与社会下册6.4.2-高原圣城-拉萨教学设计
- 河池2025年广西河池市事业单位招聘731人笔试历年参考题库附带答案详解
- 7微生物与健康 教学设计 -2023-2024学年科学六年级上册教科版
- 扬州环境资源职业技术学院《田径教学与实践》2023-2024学年第二学期期末试卷
- 一通三防培训课件PPT课件(PPT 53页)
- 江苏省邳州市2021-2022学年人教版四年级上册期末数学试卷(含答案)
- 大数据分析及应用实践全书课件汇总整本书电子教案(最新)
- 教练技术一阶段讲义(共59页)
- 第3章-系统模型与模型化
- 精品课程建设验收自评报告
- 福建省义务教育课程设置及比例(修订)
- 未成年人需办银行卡证明(模板)
- 建设项目职业病防护设施设计专篇编制导则
- 员工考勤流程图
- 出口加工区外汇管理培训(ppt49)
评论
0/150
提交评论