专题03 冒泡排序算法及VB程序实现(知识梳理)-巅峰冲刺2020年浙江省高考选考信息技术二轮专项提升

2020-02-20
| 4页
| 1105人阅读
| 32人下载
精品

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高三
章节 -
类型 素材
知识点 -
使用场景 其他
学年 2020-2021
地区(省份) 浙江省
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 121 KB
发布时间 2020-02-20
更新时间 2020-02-20
作者 A@星空🌃🌘残月
品牌系列 -
审核时间 2020-02-20
下载链接 https://m.zxxk.com/soft/12709651.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

专题3 冒泡排序算法及VB程序实现 一、基本思想(以升序、从后往前比较为例) 通过相邻元素的比较,将较小的数向上推移的排序技术。 n个数需要通过n-1轮冒泡。第i轮的任务是将第i小的数推移到a(i)。 二、核心代码(升序) 1. 从后往前,小数往前冒(默认写法,需要在理解的基础上熟记) For i = 1 To n - 1 '外层循环表示排序轮数 For j = n To i + 1 Step -1 '注意j的初值和终值 If a(j) < a(j - 1) Then '满足条件,交换两数 t = a(j) a(j) = a(j - 1) a(j - 1) = t End If Next j Next i 2. 从前往后,大数向后沉 For i = 1 To n - 1 '外层循环表示排序轮数 For j = 1 To n-i '注意j的初值和终值 If a(j) > a(j + 1) Then '满足条件,交换两数 t = a(j) a(j) = a(j + 1) a(j + 1) = t End If Next j Next i 3. 当某一轮冒泡排序没有任何数据交换,则说明数组已然有序,后面的轮次可以省略,证明如下:假设数组已进行了i-1遍冒泡,在进行第i遍冒泡时,没有相邻元素交换,那么a(n)>=a(n-1)>=....>=a(i+1)>=a(i),这说明数组无序部分也已有序,从而整个数组已完成排序(见下面示意图)。 a(1) a(2) ...... a(i-1) a(i) ...... a(n-1) a(n) 无序部分 有序部分 基于此,得到改进后的冒泡排序程序段(以从后往前为例)。 For i = 1 To n - 1 Flag=True '内层循环之前没有相邻数据的交换 For j = n To i + 1 Step -1 If a(j) < a(j - 1) Then t = a(j):a(j) = a(j - 1):a(j - 1) = t flag=False '有了相邻数据的交换,改变标记变量 End If Next j '内层循环结束后,判断第i轮是否有

资源预览图

专题03 冒泡排序算法及VB程序实现(知识梳理)-巅峰冲刺2020年浙江省高考选考信息技术二轮专项提升
1
专题03 冒泡排序算法及VB程序实现(知识梳理)-巅峰冲刺2020年浙江省高考选考信息技术二轮专项提升
2
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。