6.3 动态数组控件数组和排序算法.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.3 动态数组控件数组和排序算法

建立动态数组的方法是,首先在模块或过程中使用如下格式定义类型: Public | Private |Dim|Static 数组名()as [数据类型] 然后在过程中用Redim语句指明该数组的大小。 格式:Redim [preserve ] 数组名 ( 下标1 [,下标2 …]) 说明 :① ReDim语句中的下标可以是常量,也可以是有了确定值的变量。 ②在过程中可以多次使用ReDim语句来改变数组的大小。 ④每次使用Redim语句都会使原来数组中的值丢失,即数组中的内容全部被重新初始化。 ?用Preserve选项,则在对数组重新说明时,将会保留数组中原来的数据。但该参数只能改变最后一维的大小,前面维的大小不能改变,且维数不能改变。 Option Base 1 Dim dynarry() As Integer Private Sub Form_Click() Dim i As Integer, j As Integer ReDim dynarry(3, 3) Print 数组dynarry(3, 3)的值 For i = 1 To 3 For j = 1 To 3 dynarry(i, j) = i * 10 + j Print dynarry(i, j); Next j Print Next I 6.4.1基本概念: 由一组具有相同name属性和相同类型的控件组成,数组中的每一控件共享同样的事件过程。当建立控件数组时,系统给每个元素赋一个唯一的索引号(Index),通过属性窗口的Index属性,可以知道该控件的下标是多少,第1个下标是0。 6.4.2 建立的方法: 1、创建同名控件 2、复制现存控件。 排序算法 选择法 直接排序法 冒泡法 查找算法 顺序查找 折半查找 冒泡法与选择法区别 选择排序法是逐个比较,逆序交换;冒泡法是两两比较,逆序交换. 复习:数组的基本操作 赋值语句赋值 For…… next Inputbox Array()函数 数组直接赋值 文本框赋值 1.数组赋值 2.数组输出: 通常利用循环和print 3.数组的引用 固定大小的数组 动态数组 定义时指明大小,运行时不变 在声明数组时未给出数组的大小,在程序运行期间可变 6.3 动态数组 动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用该数组时,随时可用ReDim语句重新定义数组的大小。 使用动态数组的优点是:用户可以根据需要有效地利用存储空间,它是在程序执行到ReDim语句时分配存储空间。 redim dynarry(3,3) Print 没有使用preserve关键字的redim语句后数组dynarry的值是 For i = 1 To 3 For j = 1 To 3 Print dynarry(i, j); Next j Print Next I End Sub 2.Preserve示例 1)没有使用Preserve关键字 Option Base 1 Dim dynarry() As Integer Private Sub Form_Click() Dim i As Integer, j As Integer ReDim dynarry(3, 3) Print 数组dynarry(3, 3)的值 For i = 1 To 3 For j = 1 To 3 dynarry(i, j) = i * 10 + j Print dynarry(i, j); Next j Print Next i ReDim Preserve dynarry(3, 4) Print 数组dynarry(3, 4)的值 For i = 1 To 3 For j = 1 To 4 Print dynarry(i, j); Next j Print Next I End Sub 第二维大小改变 第一维大小不变 2)使用Preserve关键字 6.4 控件数组 例:教材P102例子 常用算法 6.5 程序示例 基本过程(以降序为例):将第一个元素顺序与其后面的元素比较,比第一个大则进行交换,第一轮完毕后,最大的元素被挪到了第一个位置,第二轮从第二个元素开始重复上面的过程,结束后得到第二个最大的元素,如此下去经过 N-1 轮的比

文档评论(0)

gooddoc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档