预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

冒泡排序算法程序实现导学案一、冒泡排序算法的基本思想(回顾)(1)把待排序的n个元素看成是垂直堆放的一列数据。(2)从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小(按升序排序)的数据换到上面一个元素中。重复这一过程,直到处理完最后两个元素中的数据,称为一遍加工。(3)对余下的n-1个元素重复上述过程,直至最后进行余下两个数据元素的比较和交换。二、程序实现1、升序排序①两两比较,小的数换上面。②怎么实现一遍加工?(寻找每遍加工中数组元素下标取值的规律)③总共进行几遍加工?冒泡排序程序的特征:________________________________________________________2、降序排序例:实现某排序算法的部分VB程序段如下:书写代码:Fori=1To4Forj=8Toi+1Step-1Ifd(j)<d(j-1)Thent=d(j):d(j)=d(j-1):d(j-1)=tEndIfNextjs=s+Str(d(i))NextiText1.Text=s若数组元素d(1)到d(8)的数据依次为12,7,18,13,9,17,6,23,运行该程序段后,文本框Text1中显示的内容是A.67912B.23181713C.1271813D.9176233、优化冒泡排序算法Fori=1Ton-1flag=FalseForj=ntoi+1Step-1Ifa(j)<a(j-1)Thent=a(j):a(j)=a(j-1):a(j-1)=t__________EndIfNextjIf__________ThenExitFor‘ExitFor表示退出当前循环Nexti4、知识拓展:下沉式冒泡排序有如下程序段:Fori=1To5Forj=1To6-iIfa(j)<a(j+1)Thent=a(j):a(j)=a(j+1):a(j+1)=tEndIfNextjNexti数组元素a(1)到a(6)的值依次为“71,54,58,29,31,78”,经过该程序段“加工”后,数组元素a(1)到a(6)的值依次为A.29,31,54,58,71,78B.71,58,54,78,31,29C.54,29,31,58,71,78D.78,71,58,54,31,29三、小结升/降序冒泡、优化、下沉式冒泡四、思考【2016.4选考】有如下程序段:Fori=1To2Forj=5Toi+1Step-1Ifa(j)>a(i)Thent=a(j):a(j)=a(i):a(i)=tEndIfNextjNexti1、这是冒泡排序吗?2、数组元素a(1)到a(5)的值依次为“33,24,45,16,77”,经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为A.77,45,33,16,24B.77,33,45,16,24C.77,24,45,16,33D.77,45,33,24,16课后作业1、有7个数据依次存放在数组a(1)到a(7)中,使用如下程序段对7个数据进行从大到小排序。Fori=1To6Forj=7Toi+1Step-1If___________Thentemp=a(j):a(j)=a(j-1):a(j-1)=tempEndIfNextjNextiA.a(j)<a(j+1)B.a(j)<a(j-1)C.a(j)>a(j+1)D.a(j)>a(j-1)2、采用冒泡排序算法对数组a中的5个数据“5,10,6,30,9”进行排序,部分程序如下:Fori=1To4Forj=5Toi+1Step-1Ifa(j)<a(j-1)Thent=a(j):a(j)=a(j-1):a(j-1)=tEndIfNextjNexti下列说法正确的是A.升序排序,实现框中的语句共执行了2次B.升序排序,实现框中的语句共执行了3次C.降序排序,实现框中的语句共执行了5次D.降序排序,实现框中的语句共执行了6次3、有如下程序段:Dima(1To10)AsStrings="fish":n=Len(s)Fork=1Tona(k)=Mid(s,k,1)NextkFori=1To2Forj=nToi+1Step-1Ifa(j)>a(j-1)Thent=a(j):a(j)=a(j-1):a(j-1)=tEndIfNextjNexti则经过这段程序“加工”后,数组a中的各个元素分别是____________________________4、有8位学生参加了演讲比赛,评委们给出了每位参赛学生的成绩。小张设计了成绩排序的VB程序。功能如下:程序运行后,在左边的列表框List1中显示所有学生的参赛编号和成绩,单击“排序”按钮Command1,参赛学生按照比赛成绩非减序排序,并将结果显示在右边的列表框List2中,程序运行界面如图所示。实现上述功能的VB程序代码如下,