选择排序与冒泡排序推导_第1页
选择排序与冒泡排序推导_第2页
选择排序与冒泡排序推导_第3页
选择排序与冒泡排序推导_第4页
选择排序与冒泡排序推导_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、新安江中学廖丽琴 for i=1 to n-1 变量变量i控制遍数控制遍数n-1 for j=n to i+1 step -1 控制每次比较次数控制每次比较次数n-i if d(j)d(j-1) then 不满足降序(后项不满足降序(后项前项)则交换前项)则交换 temp=d(j) d(j)=d(j-1) d(j-1)=temp end if next j next i for i=1 to n-1 控制排序遍数控制排序遍数n-1 k=i 第第I趟排序假设趟排序假设i位置上的数最大位置上的数最大 for j=i+1 to n 比较剩下的数,次数为比较剩下的数,次数为n-i次次 if d(k)d

2、(j) then k=j 记录比较之后较大数的位置记录比较之后较大数的位置 next j if ki then 如果最值位置有变化的话则交换如果最值位置有变化的话则交换 d(i)=d(i)+d(k) d(k)=d(i)-d(k) d(i)=d(i)-d(k) end if next i 找数组找数组a(1)a(10)中最小值并显示在中最小值并显示在label1上上 m=a(1) For i=2 to 10 if a(i)m then m=a(i) Next i Label1.caption=str(m) 特点:特点:利用枚举算法,找出了最值,但具体利用枚举算法,找出了最值,但具体 是数组中哪个

3、位置是数组中哪个位置a(?)的数是的数是 最值没记录!最值没记录! 利用冒泡排序思想,可以找到利用冒泡排序思想,可以找到a(1)到到a(10)中最大的值并存储在中最大的值并存储在a(1)中中 For i=9 to 1 step -1 if a(i)a(i+1) then t=a(i):a(i)=a(i+1):a(i+1)=t Next i 利用冒泡排序思想,可以找到利用冒泡排序思想,可以找到a(2)到到a(10)中最大的值并存储在中最大的值并存储在a(2)中中 For i=9 to 2 step -1 if a(i)a(i+1) then t=a(i):a(i)=a(i+1):a(i+1)=t

4、 Next i 利用冒泡排序思想,可以找到利用冒泡排序思想,可以找到a(3)到到a(10)中最大的值并存储在中最大的值并存储在a(3)中中 For i=9 to 3 step -1 if a(i)d(j+1) then 不满足降序(后项不满足降序(后项前项)则交换前项)则交换 temp=d(j) d(j)=d(j+1) d(j+1)=temp end if next j next i for i=1 to n-1 变量变量i控制遍数控制遍数n-1 for j=n to i+1 step -1 控制每次比较次数控制每次比较次数n-i if d(j)d(j-1) then 不满足降序(后项不满足降

5、序(后项前项)则交换前项)则交换 temp=d(j) d(j)=d(j-1) d(j-1)=temp end if next j next i for i=n-1 to 1 变量变量i控制遍数控制遍数n-1 for j=2 to i+1 step -1 控制每次比较次数控制每次比较次数n-i if d(j)d(j-1) then 不满足降序(后项不满足降序(后项前项)则交换前项)则交换 temp=d(j) d(j)=d(j-1) d(j-1)=temp end if next j next i for i=n-1 to 1 变量变量i控制遍数控制遍数n-1 for j=1 to i step

6、-1 控制每次比较次数控制每次比较次数n-i if d(j)d(j+1) then 不满足降序(后项不满足降序(后项前项)则交换前项)则交换 temp=d(j) d(j)=d(j+1) d(j+1)=temp end if next j next i for i=1 to n-1 变量变量i控制遍数控制遍数n-1 for j=n to i+1 step -1 控制每次比较次数控制每次比较次数n-i if d(j)d(j-1) then 不满足降序(后项不满足降序(后项前项)则交换前项)则交换 temp=d(j) d(j)=d(j-1) d(j-1)=temp end if next j nex

7、t i for i=n-1 to 1 变量变量i控制遍数控制遍数n-1 for j=2 to i+1 step -1 控制每次比较次数控制每次比较次数n-i if d(j)d(j-1) then 不满足降序(后项不满足降序(后项前项)则交换前项)则交换 temp=d(j) d(j)=d(j-1) d(j-1)=temp end if next j next i 把循环用把循环用for语句实现语句实现 利用选择排序思想,可以找到利用选择排序思想,可以找到a(1)到到a(10)中最大的值并存储在中最大的值并存储在a(1)中中 k=1 for i=2 to 10 if a(i)a(k) then k

8、=i next i if k1 then t=a(i):a(i)=a(k):a(i)=t 利用选择排序思想,可以找到利用选择排序思想,可以找到a(2)到到a(10)中最大的值并存储在中最大的值并存储在a(2)中中 k=2 for i=3 to 10 if a(i)a(k) then k=i next i if k2 then t=a(i):a(i)=a(k):a(i)=t 利用选择排序思想,可以找到利用选择排序思想,可以找到a(3)到到a(10)中最大的值并存储在中最大的值并存储在a(3)中中 k=3 for i=4 to 10 if a(i)a(k) then k=i next i if k

9、3 then t=a(i):a(i)=a(k):a(i)=t 请将选择排序的核心代码写下来请将选择排序的核心代码写下来 for i=1 to n-1 控制排序遍数控制排序遍数n-1 k=i 第第I趟排序假设趟排序假设i位置上的数最大位置上的数最大 for j=i+1 to n 比较剩下的数,次数为比较剩下的数,次数为n-i次次 if d(k)d(j) then k=j 记录比较之后较大数的位置记录比较之后较大数的位置 next j if ki then 如果最值位置有变化的话则交换如果最值位置有变化的话则交换 d(i)=d(i)+d(k) d(k)=d(i)-d(k) d(i)=d(i)-d(k) end if next i 选择排序的第一次排序选择排序的第一次排序 新安江中学廖丽琴 Sub 事件名()事件名() 1、定义常变量:、定义常变量: const(常量) dim(变量) 明确几个变量,其类型,借助注释等信息猜其作用。 2、赋初值:、赋初值: 一般习惯,除for中循环变量其他需一一赋值。 通过赋初值的过程,能判断出某几个变量的作用。 3、处理过程:、处理过程: 实现主体功能,一般功能越复杂越强大,程序越长,越难读。 先读一遍,有疑问,看完第4步,再读题干

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论