第4次课-数组(4学时).ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4次课-数组(4学时)

第三轮结果:5 4 3 1 2 第四轮结果:5 4 3 2 1 for i=1 to 10-1 ’10个数排序需要9趟 for j=i+1 to 10 ‘每趟的比较次数 if S(i) S(j) then t=S(i):S(i)=S(j):S(j)=t ‘交换 End if Next j Next I 方法:双重循环(循环嵌套) 外循环:控制排序趟数 内循环:排序过程中的数组元素下标取值 8 6 9 3 2 7 原始数据 6 8 9 3 2 7 6 8 9 3 2 7 6 8 3 9 2 7 6 8 2 2 9 7 6 8 2 3 7 9 第一轮排序 冒泡排序 8 6 9 3 2 7 Dim a As Variant a = Array(56, 90, -123, 58, 5, 10, 100, 53, 66, 518) n = UBound(a) For i = 1 To n - 1 For j = 1 To n - i If a(j) a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i 冒泡排序 Dim a As Variant a = Array(56, 90, -123, 58, 5, 10, 100, 54, 66, 518) n = UBound(a) For i = 1 To n - 1 For j = n To i+1 step -1 If a(j) a(j - 1) Then t = a(j) a(j) = a(j - 1) a(j - 1) = t End If Next j Next i 冒泡排序 上机真题 【例】捷成64-5 数组a中的100个正整数(显示在Text1文本框中),单击“分组”按钮,则将数组a中所有3的倍数的元素存入数组b中,并对数组b中的元素从小到大排序后显示在文本框Text2中。 上机教程P80-练习6.5 【例】捷成53-5 单击“合并”命令按钮,则将 A、B两个数组(各20个数据)合并为另一个按升序方式排列的数组C,并将合并后数组C中的数据依升序方式显示在Text3中。 选择法排序思想方法: 对n个数排序,先将第一个数与第二个数到第n个数逐一比较,找出最小数的位置i(下标),然后将a(1)与a(i)进行 交换,将最小数存放在a(1)中 然后将第二个数依次与第三个到第n个数逐一进行比较,找出第二个到第n个数中最小数,然后将a(2)与a(i)进行交换,最终这n个数中的次小数放在a(2)中 重复上面的步骤,直到排序结束为止(进行n-1趟排序) 按递增排序 选择法排序 第一趟排序 8 6 9 3 2 7 原始数据 8 6 9 3 2 7 a(1) a(2) a(3) a(4) a(5) a(6) 第一趟排序 2 6 9 3 8 7 第二趟排序 2 6 9 3 8 7 第二趟排序 2 3 9 6 8 7 第三趟排序 2 3 9 6 8 7 第三趟排序 2 3 6 9 8 7 第四趟排序 2 3 6 9 8 7 第四趟排序 2 3 6 7 8 9 第五趟排序 2 3 6 7 8 9 第五趟排序 2 3 6 7 8 9 1、求数组的最小元素 2、交换数组中的两个元素 选择法排序 Dim a As Variant a = Array(56, 90, -123, 58, 5, 10, 100, 53, 66, 518) n = UBound(a) For i = 1 To n - 1 k = i For j = i + 1

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档