资源描述:
《5.3排序算法的程序实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、班级学号姓名《冒泡排序》学案一、目标定位1、理解冒泡排序的基本思想2、利用冒泡排序算法对数据进行排序3、掌握用VB语言实现冒泡排序算法的一遍排序二、重难点重点:利用冒泡排序算法对数据进行排序、用VB语言实现冒泡排序算法的一遍排序难点:用VB语言实现冒泡排序算法的一遍排序三、知识梳理1、冒泡排序的基本思想:把待排序的n个元素看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻两个元素的数据,将较小(大)的数据换到上面的一个元素中。重复这一过程,直到处理完最后两个元素的数据,称为第一遍加工。第一遍加工完成以后,最小
2、(大)的数据已经上升到第一个元素的位置,然后对余下的n-1个元素重复上述处理过程,直至最后完成排序。2、冒泡排序算法的一遍排序(升序排列)Forj=TostepIfthenNextj四、过程解析1、思想分析(1)动画中的5个孩子在完成由低到高排队的过程中,共进行了遍,比较了次。(2)仿照上述排队规律,完成对评委打分情况的升序排序。原始数据23383015第一遍排序第二遍排序第三遍排序4个元素共需进行遍加工处理,总的比较次数为次。一般地,冒泡排序对n个数组的元素进行排序,则要进行遍加工,总比较次数:(n-1)+(n-2)+(n
3、-3)+………+2+1=例题:采用冒泡排序法对一组数据进行排序,若完成第一遍排序时的结果是35,88,110,48,64,则完成第二遍排序时的结果是()A35,88,110,48,64B35,48,88,64,110C35,48,88,110,64D35,48,64,88,110第一遍排序35881104864第二遍排序32、重难点突破突破1:条件语句的构造。根据流程图和解题过程,以升序为例,推测程序。根据数据交换的过程,请填写以下程序(升序):ifd(j)4、流程图和解题过程,推测程序。Forj=ToStepifd(j)5、0,53,57,28,30,77”,原始数据可能是()。A)1,70,53,57,77,28,30B)70,1,53,57,28,30,77C)70,53,57,28,30,77,1D)70,53,1,57,28,30,773、有7个数据依次存放在数组a(1)到a(7)中,使用如下程序段对7个数据进行某一遍排序,则①处内容为()。Forj=7to2step-1if①thentemp=a(j):a(j)=a(j-1):a(j-1)=tempendifNextjA)a(j)a
6、(j+1)D)a(j)>a(j-1)4、有7个数据依次存放在数组a(1)到a(7)中,使用如下程序段对7个数据进行第三遍排序,则①3处内容为()。Forj=7to①step-1ifa(j-1)>a(j)thentemp=a(j):a(j)=a(j-1):a(j-1)=tempendifNextjA)2B)3C)4D)55、将7个数据21,12,13,17,16,15,20依次存放在数组a(1)到a(7)中,使用如下程序段对7个数据进行排序,运行程序后,文本框Text1中显示的内容为()k=0Forj=7to2step-1if
7、a(j)8、”Fori=1to3Forj=6toi+1step-1Ifa(j)>a(j-1)thenTemp=a(j):a(j)=a(j-1):a(j-1)=TempEndifNextjSt=st+str(a(i))NextiText1.text=stEndsubA.16115432B.2345111