- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 数组与过程课件
第4章 数组与过程;主要内容:;§4.1 数 组; 二、 一维数组的定义和使用;1.数组被定义后,自动进行初始化处理。
2.Dim Sum(10) As Long Dim Ary(1 to 20) As Integer
若希望下标从1开始,可在模块的通用部分使用Option Base语句将设为1。其使用格式是:
Option Base 0|1 后面的参数只能取0或1
例如:
Option Base 1
Dim Data(10) As Single;3.如果省略As子句,则数组的类型为变体类型
4.可以用Lbound( ),Ubound( ) 函数测定一个已定义数组的下界与上界值。
例如:Dim A% ( 12 To 24 )
print Lbound(A),Ubound(A)
;2、一维数组元素的引用 ;
数组的输入; Private Sub Form_Click()
Dim a(1 To 10) As Integer
For i = 1 To 10
a(i) = InputBox(请输入第 i 个数:, 输入)
Next i
Max = a(1): imax = 1
For i = 2 To 10
If a(i) Max Then
Max = a(i): imax = i
End If
Next i
MsgBox 最大的数是第 imax 个: Max, , 结果
End Sub;例2: 将数组元素倒置;例3:在一组有序数中插入一个数,使其仍然保持有序;例4:将数组中的100个随机两位数按照七个数一行打印输出;冒泡法排序
(1)比较第一个数与第二个数,若为逆序a[0]a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上
(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置
(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束;Const n=6
Dim D(n) as Integer,temp%
……
For i = 1 To n - 1
For j = 1 To n-i
If a(j) a(j+1) Then
temp=a(j)
a(j)=a(j+1)
a(j+1)=temp
End if
Next j
Next i;算法思想:(将相邻两个数比较,小的调到前头)
(1)首先通过n-1次比较,从n个数中找出最小的, 将它与第一个数交换—第一趟选择排序,结果最小的数被安置在第一个元素位置上
(2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录将它与第二个数交换—第二趟选择排序
(3)重复上述过程,共经过n-1趟排序后,排序结束;Const n=6
Dim D(n) as Integer,temp%
……
For i = 1 To n - 1
For j = i + 1 To n
If a(i) a(j) Then
temp = a(i)
a(i) = a(j)
a(j) = temp
End If
Next j
Next i; 例5.3 用随机函数产生50个[10,100 )的随机整数,并按照由小到大的顺序打印出来。;程序如下:;1、动态数组的声明与使用
在一个过程中说明一个过程级的动态数组可分为声明和定义两个阶段。声明阶段只需说明数组的名称和类型。
例如:Dim Text() As Integer
在使用前用ReDim语句再加以定义,说明其维数和大小。
例如:ReDim Test (30) ‘定义了一个有31个元素的整型数组
注:ReDim语句的功能是释放先前动态数组的内存空间,重新设置数组的大小并初始化(清零),但不能修改其数据类型。
在不需要动态数组时,可以用Erase语句将其删除。
Erase 数组名[,数组名]…; 说明:
(1)ReDim语句是一个可执行语句,只能出现在过程中,并且可以多次使用,改变数组的维数和大小。
(2)定长数组声明中的下标只能是常量,而动态数组ReDim 语句中的下标是常量,也可以是有了确定值的变量。
文档评论(0)