《浙教算法与程序设计VB排序复习.pptx》由会员分享,可在线阅读,更多相关《浙教算法与程序设计VB排序复习.pptx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、真题(关于排序)统计第1页/共19页冒泡排序(递增)算法第2页/共19页练一练(冒泡排序)d(1)d(2)d(3)d(4)d(5)87234553302387304553233045875323308745532330455387第遍:第遍:第遍:第遍:第遍:第遍:第遍:第遍:第3页/共19页选择排序(递增)算法 第4页/共19页练一练(选择排序)d(1)d(2)d(3)d(4)d(5)87234553302387455330233045538723304553872330455387第遍:第遍:第遍:第遍:第遍:第遍:第遍:第遍:第5页/共19页冒泡与选择排序的程序实现第6页/共19页冒泡排
2、序程序代码:冒泡排序程序代码:For i=1 To n-1For i=1 To n-1 For j=n To i+1 Step-1For j=n To i+1 Step-1 If d(j)d(j-1)Then If d(j)d(j-1)Then k=d(j)k=d(j)d(j)=d(j-1)d(j)=d(j-1)d(j-1)=k d(j-1)=k End If End If Next jNext j Next i Next i 523d(1)d(2)d(3)n=3数组ijd(j)d(j-1)5、2、31312d(3)d(2)不成立不交换5、2、32、5、32、5、32、3、52、3、5d(2)
3、d(1)成立交换第1遍排序完成23d(3)d(2)成立交换第2遍排序完成总排序完成For i=1 To 2For i=1 To 2 For j=3 To i+1 Step-1For j=3 To i+1 Step-1 If d(j)d(j-1)Then If d(j)d(j)Then k=j Next j If k i Then 如果最小的数所在的位置不是i,则交换 k=d(i):d(i)=d(k):d(k)=k End IfNext i i 记录正在处理的遍数;j 记录顺序查找时当前数组元素的下标;k 记录查找范围内最小数组元素的下标思考:修改程序,如何实现数组元素降序排序?第11页/共19
4、页课堂实践完成导学单中第二大题第4小题。第12页/共19页进阶提高 学校篮球队要招收新队员。执教教师想从新生体检档案中挑出身高居前30位的男生作为甄选对象(男生总数为320)。现用排序找到身高居前30位的男生,假设320位男生身高数据已存储在数组d中。思考:需要对整个数组d进行排序吗?第13页/共19页部分排序部分排序时,需要修改变量i的终值。第14页/共19页复习建议1.充分理解冒泡、选择排序的算法2.熟练掌握冒泡、选择排序的程序实现3.研究与排序有关的题型,做到举一反三第15页/共19页拓展冒泡排序、选择排序的比较次数和交换次数研究第16页/共19页选择排序和冒泡排序的比较交换次数执行时间冒泡最多情况下:1+2+3+n-1长选择最多n-1短以n个数据为例第17页/共19页感谢各位!第18页/共19页感谢您的观看!第19页/共19页