《冒泡排序.ppt》由会员分享,可在线阅读,更多相关《冒泡排序.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、算法实例算法实例冒泡排序冒泡排序进才中学进才中学 范士娟范士娟2014年年12月月Cj(1)=89Cj(2)=92Cj(3)=65Cj(4)=79Cj(5)=98数组是一种特殊的变量,它在内存中的位置是连续的。数组是一种特殊的变量,它在内存中的位置是连续的。 请回答几个问题:请回答几个问题: (1)几个数组元素?)几个数组元素? (2)数组名是什么?)数组名是什么? (3)哪些是数组元素名?)哪些是数组元素名? (4)哪些是)哪些是数组元素值?数组元素值?复习:复习:Dim cj(1 to 10) as integeri=1Do while i=10 cj(i)=inputbox(“请输请输入
2、成入成绩绩:” ”+str(i)+”个数个数” ”)i=i+1LoopNo=1i=2Do while icj(i-1) then No=i end ifi=i+1LoopPrint “最大最大值值:”;cj(No)Max=cj(1)i=2Do while iMax then Max=cj(i) end ifi=i+1LoopPrint “最大最大值值:”;Maxi=1Do while icj(4) then 互换互换 cj(5)和和cj(4)的值的值End ifIf cj(3)cj(2) then 互换互换 cj(3)和和cj(2)的值的值End ifIf cj(4)cj(3) then t=
3、cj(4):cj(4)=cj(3):cj(3)=tEnd ifIf cj(2)cj(1) then 互换互换 cj(2)和和cj(1)的值的值End if9879659289第1遍:i=?Do while icj(4) then 互换互换 cj(5)和和cj(4)的值的值End ifIf cj(3)cj(2) then 互换互换 cj(3)和和cj(2)的值的值End ifIf cj(4)cj(3) then 互换互换 cj(4)和和cj(3)的值的值End if9879659289第2遍:i=?Do while icj(4) then 互换互换 cj(5)和和cj(4)的值的值End ifI
4、f cj(4)cj(3) then 互换互换 cj(4)和和cj(3)的值的值End if9879659289第3遍:i=?Do while icj(4) then 互换互换 cj(5)和和cj(4)的值的值End if9879659289第4遍:i=?Do while i=2 if cj(i)cj(i-1) then temp=cj(i) cj(i)=cj(j-1) cj(i-1)=temp end ifi=i-1loopJ=?Do while J=? if then end if i=? loopJ=j+1loop第2遍:i=5Do while i=3 if cj(i)cj(i-1) th
5、en temp=cj(i) cj(i)=cj(j-1) cj(i-1)=temp end ifi=i-1loop第3遍:i=5Do while i=4 if cj(i)cj(i-1) then temp=cj(i) cj(i)=cj(j-1) cj(i-1)=temp end ifi=i-1loop第4遍:i=5Do while i=5 if cj(i)cj(i-1) then temp=cj(i) cj(i)=cj(j-1) cj(i-1)=temp end ifi=i-1loop开始结束i=1i=ij=j-1YN小结:小结:一、冒泡排序的几个关键词:一、冒泡排序的几个关键词: 1.数据规模
6、数据规模 2.整理遍数整理遍数 3.比较次数比较次数 4.比较方向比较方向二、算法设计模式:双重循环嵌套分支结构二、算法设计模式:双重循环嵌套分支结构 1.外循环次数:整理遍数外循环次数:整理遍数 2.内循环次数:每遍整理时比较次数内循环次数:每遍整理时比较次数 3.单分支结构:符合条件,交换相邻二单元值单分支结构:符合条件,交换相邻二单元值作业:作业:冒泡排序(升序)说明:有10个数据已赋值给数组D的D(1)D(10)for i=_ to _ 提示:写出外循环的次数:数据量减一次 for j=_ to _ 提示:写出内循环的次数 if _ then 提示:写出决定交换数据的条件 T=D(j) _ 提示:写出交换相邻二个数组元素的值的语句 _ End If Next jNext i