




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB程序设计——冒泡排序VB程序设计——冒泡排序请欣赏请欣赏回顾Excel排序操作回顾Excel排序操作计算机是如何做到排序计算机是如何做到排序冒泡排序经典算法之排序:把杂乱无章的数据变为有序的数据的过程。(递增或递减)冒泡排序:把较小的数据逐次向上推移的一种排序技术。冒泡排序经典算法之排序:把杂乱无章的数据变为有如何实现将较小数逐次从下向上推移呢?一、冒泡排序的思想:从最下面一个元素起,依次比较相邻的两个元素中的数据,将较小的数据调换到上面,小元素像气泡一样上浮。如何实现将较小数逐次从下向上推移呢?一、冒泡排序的思想:从最6二、冒泡排序的过程设置数组变量:a(i)为牌的值(i=1、2、3、4、5)二、冒泡排序的过程设置数组变量:a(i)为牌的值(i=1、712345数组变量a12345数组变量a812345第一轮冒泡过程a(5)>a(4)保持不变a(4)<a(3),交换a(3)<a(2),交换a(2)<a(1),交换12345第一轮冒泡过程a(5)>a(4)保持不变a(4)<912345第二轮冒泡过程a(5)>a(4)保持不变a(4)<a(3),交换a(3)<a(2),交换12345第二轮冒泡过程a(5)>a(4)保持不变a(4)<1012345第三轮冒泡过程a(5)<a(4),交换a(4)>a(3),不变12345第三轮冒泡过程a(5)<a(4),交换a(4)>a1112345第四轮冒泡过程a(5)>a(4),不变12345第四轮冒泡过程a(5)>a(4),不变12当堂练习1、对“648251”中的6个数码进行两轮冒泡排序后即为某游戏中数字密码锁的密码,该密码是()A)684521B)462518C)126485D)864521C当堂练习1、对“648251”中的6个数码进行两轮冒泡排序后13当堂练习2、下表中的原始数据是一组学生的军训打靶成绩,若采用冒泡排序算法对其进行排序,则第3遍的排序结果是。原始数据第一遍第二遍第三遍第四遍98858585959888888595989393889595889393989385889598当堂练习原始数据第一遍第二遍第三遍第四遍988585分析:如果要对有5个元素的数组进行排序,那么1、要进行________轮冒泡2、第一轮冒泡的时候它进行比较的范围是从_________到________,比较次数:4第2轮冒泡的时候呢?是从__________到________第3轮冒泡的时候呢?是从__________到________4a(5)与a(4)a(2)与a(1)a(5)与a(4)a(3)与a(2),比较次数:3a(5)与a(4)a(4)与a(3),比较次数:2第4轮冒泡的时候呢?是从__________到________a(5)与a(4)a(5)与a(4),比较次数:1分析:如果要对有5个元素的数组进行排序,那么1、要进行___15推广:如果有n个数组的元素进行排序,则要进行n-1趟冒泡…….第n-1趟冒泡要经过1次比较第一趟冒泡要经过n-1次比较第二趟冒泡要经过n-2次比较总计要经过:(n-1)+(n-2)+(n-3)+………+2+1n*(n-1)/2次比较思考:交换次数最少几次?最多几次?推广:如果有n个数组的元素进行排序,则要进行n-1趟冒泡……16尝试:用流程图表示所有数据排序(升序)过程尝试:用流程图表示所有数据排序(升序)过程开始结束Ni<=4i1向上冒一个最小数ii+1Y用流程图表示数据排序(升序)过程n个数思考开始结束Ni<=4i1向上冒一个最小数i开始i1结束Ni<=n-1ii+1Y向上冒一个最小数用流程图表示数据排序(升序)过程不断两两比较并交换流程图?思考开始i1结束Ni<=n-1ii+1jnNj>=?互换a(j)与a(j-1)Ya(j)<a(j-1)YNj=j-1用流程图表示数据排序(升序)过程比较并交换:jnNj>=?互换a(j)与a(j-1)Ya(j用流程图表示数据排序(升序)过程开始i1结束Ni<=n-1互换a(j)与a(j-1)j=j-1Yjnj>=i+1Ya(j)<a(j-1)Y输出已排序的数组dii+1NN用流程图表示数据排序(升序)过程开始i1结束(1)冒泡排序的原理与特点?是指把n个要排序的数看成一垂直列,从最下面的数开始两两比较相邻的两个数,把小的数向上换,经过n-1遍处理以达到排序目的的一种排序方法.(2)n个元素的数组冒泡排序比较次数?最多交换次数?(n-1)+(n-2)+…+1=n*(n-1)/2(3)冒泡排序算法流程图课堂小结(1)冒泡排序的原理与特点?课堂小结VB程序设计——冒泡排序VB程序设计——冒泡排序请欣赏请欣赏回顾Excel排序操作回顾Excel排序操作计算机是如何做到排序计算机是如何做到排序冒泡排序经典算法之排序:把杂乱无章的数据变为有序的数据的过程。(递增或递减)冒泡排序:把较小的数据逐次向上推移的一种排序技术。冒泡排序经典算法之排序:把杂乱无章的数据变为有如何实现将较小数逐次从下向上推移呢?一、冒泡排序的思想:从最下面一个元素起,依次比较相邻的两个元素中的数据,将较小的数据调换到上面,小元素像气泡一样上浮。如何实现将较小数逐次从下向上推移呢?一、冒泡排序的思想:从最28二、冒泡排序的过程设置数组变量:a(i)为牌的值(i=1、2、3、4、5)二、冒泡排序的过程设置数组变量:a(i)为牌的值(i=1、2912345数组变量a12345数组变量a3012345第一轮冒泡过程a(5)>a(4)保持不变a(4)<a(3),交换a(3)<a(2),交换a(2)<a(1),交换12345第一轮冒泡过程a(5)>a(4)保持不变a(4)<3112345第二轮冒泡过程a(5)>a(4)保持不变a(4)<a(3),交换a(3)<a(2),交换12345第二轮冒泡过程a(5)>a(4)保持不变a(4)<3212345第三轮冒泡过程a(5)<a(4),交换a(4)>a(3),不变12345第三轮冒泡过程a(5)<a(4),交换a(4)>a3312345第四轮冒泡过程a(5)>a(4),不变12345第四轮冒泡过程a(5)>a(4),不变34当堂练习1、对“648251”中的6个数码进行两轮冒泡排序后即为某游戏中数字密码锁的密码,该密码是()A)684521B)462518C)126485D)864521C当堂练习1、对“648251”中的6个数码进行两轮冒泡排序后35当堂练习2、下表中的原始数据是一组学生的军训打靶成绩,若采用冒泡排序算法对其进行排序,则第3遍的排序结果是。原始数据第一遍第二遍第三遍第四遍98858585959888888595989393889595889393989385889598当堂练习原始数据第一遍第二遍第三遍第四遍988585分析:如果要对有5个元素的数组进行排序,那么1、要进行________轮冒泡2、第一轮冒泡的时候它进行比较的范围是从_________到________,比较次数:4第2轮冒泡的时候呢?是从__________到________第3轮冒泡的时候呢?是从__________到________4a(5)与a(4)a(2)与a(1)a(5)与a(4)a(3)与a(2),比较次数:3a(5)与a(4)a(4)与a(3),比较次数:2第4轮冒泡的时候呢?是从__________到________a(5)与a(4)a(5)与a(4),比较次数:1分析:如果要对有5个元素的数组进行排序,那么1、要进行___37推广:如果有n个数组的元素进行排序,则要进行n-1趟冒泡…….第n-1趟冒泡要经过1次比较第一趟冒泡要经过n-1次比较第二趟冒泡要经过n-2次比较总计要经过:(n-1)+(n-2)+(n-3)+………+2+1n*(n-1)/2次比较思考:交换次数最少几次?最多几次?推广:如果有n个数组的元素进行排序,则要进行n-1趟冒泡……38尝试:用流程图表示所有数据排序(升序)过程尝试:用流程图表示所有数据排序(升序)过程开始结束Ni<=4i1向上冒一个最小数ii+1Y用流程图表示数据排序(升序)过程n个数思考开始结束Ni<=4i1向上冒一个最小数i开始i1结束Ni<=n-1ii+1Y向上冒一个最小数用流程图表示数据排序(升序)过程不断两两比较并交换流程图?思考开始i1结束Ni<=n-1ii+1jnNj>=?互换a(j)与a(j-1)Ya(j)<a(j-1)YNj=j-1用流程图表示数据排序(升序)过程比较并交换:jnNj>=?互换a(j)与a(j-1)Ya(j用流程图表示数据排序(升序)过程开始i1结束Ni<=n-1互换a(j)与a(j-1)j=j-1Yjnj>=i+1Ya(j)<a(j-1)Y输出已排序的数组d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度航空航天产业工程师岗位劳动合同规范
- 2025年度汽车行业特种材料研发与生产合作协议
- 2025年药师试题及答案
- 2025年超越平凡的题目及答案
- 职工向公司借款合同
- 2025年环保产业技术革新报告:产业升级路径与环保产业技术创新平台建设
- 2025年在线教育平台用户增长与教育公平性问题研究报告
- 反担保抵押合同协议书范本模板
- 2025年广播影视行业跨平台融合传播策略深度解析
- 2025石墨烯买卖合同
- 开学第一课课件七年级英语上册
- 《第1节 细胞是生命活动的基本单位》教学设计和导学案
- 天然气管网SCADA系统方案建议书
- 应急信息报送
- 2024-2029年中国网络流量分析软件行业市场现状供需分析及市场深度研究发展前景及规划战略投资分析研究报告
- 《医药电子商务》1-电子商务概述
- 《垃圾发电厂钠碱湿法烟气脱酸系统技术规程》
- 植物的生物节律与生物钟
- 人教版数学一年级上册全册教学课件
- 烹饪面点职业生涯规划书
- 高中单词速记3500表打印
评论
0/150
提交评论