5.3動(dòng)態(tài)數(shù)組及聲明
1. 動(dòng)態(tài)數(shù)組的建立與聲明
建立動(dòng)態(tài)數(shù)組的方法是:利用Dim、Private、Public語句聲明括號內(nèi)為空的數(shù)組,然后在過程中用ReDim語句指明該數(shù)組的大小。語法是:
ReDim 數(shù)組名(下標(biāo)1[,下標(biāo)2…]) [As 類型]
其中下標(biāo)可以是常量,也可以是有了確定值的變量,類型可以省略,若不省略,必須與Dim中的聲明語句保持一致。
例: Dim D() As Single
Sub Form_Load()
……
ReDim D(4,6)
……
End Sub
2.注意事項(xiàng)
(1)在動(dòng)態(tài)數(shù)組ReDim語句中的下標(biāo)可以是常量,也可以是有了確定值的變量。
(2)在過程中可以多次使用ReDim來改變數(shù)組的大小,也可改變數(shù)組的維數(shù)。
(3)每次使用ReDim語句都會(huì)使原來數(shù)組中的值丟失,可以在ReDim語句后加Preserve參數(shù)來保留數(shù)組中的數(shù)據(jù),但使用Preserve只能改變最后一維的大小,前面幾維大小不能改變。
1. 給數(shù)組元素賦初值
(1) 利用循環(huán)結(jié)構(gòu)
例:Dim iA(1 To 10) As Integer
For i=1 To 10
A(i)=0
Next i
(2) 利用Array函數(shù)
例:Dim a As Variant, b As Variant, i%
a = Array (1,2,3,4,5)
b = Array ("abc","def","67")
For i=0 To Ubound (a)
Picture1.print a(i);"";
Next i
For i=0 To Ubound (b)
Picture1.print b(i);"";
Next i
2.數(shù)組的輸入
(1) 通過InputBox函數(shù)輸入適合輸入少量數(shù)據(jù)。
例:Dim sB(3,4) As singer
For i=0 To 3
For j=0 To 4
SB(i,j) =InputBox("輸入" & i & j & "的值")
Next j
Next i
(2) 通過文本框控件輸入
對大批量的數(shù)據(jù)輸入,采用文本框和函數(shù)split()\join()進(jìn)行處理,效率更高。
3.數(shù)組的賦值
在VB6.0中可以直接將一個(gè)數(shù)組的值賦值給另一個(gè)數(shù)組:
Dim a(3) as integer, b() as integer
A(0)=2: A(1)=5: A(2)=-2: A(3)=2
b=a
在早期的VB中,這需要用循環(huán)語句才可以實(shí)現(xiàn):
ReDim b(UBound(a))
For I=0 to UBound(a)
b(I)=a(I)
Next i
注意:(1)賦值號兩邊的數(shù)據(jù)類型必須一致;
(2)如果賦值號左邊的是一個(gè)動(dòng)態(tài)數(shù)組,則賦值時(shí)系統(tǒng)自動(dòng)將動(dòng)態(tài)數(shù)組ReDim成右邊相同大小的數(shù)組;
(3)如果賦值號左邊的是一個(gè)大小固定的數(shù)組,則數(shù)組賦值出錯(cuò)。
4.數(shù)組的輸出
用For……Next循環(huán)語句輸出。
5.求數(shù)組中最大元素和所在下標(biāo)及各元素之和
求數(shù)組中最大元素及下標(biāo),一般假設(shè)第一個(gè)元素及下標(biāo)為最大,然后將該數(shù)與數(shù)組中的其他元素逐一比較,若有比其大的就替換,同時(shí)替換下標(biāo)。
6.交換數(shù)組中各元素
交換的要求是將數(shù)組第一個(gè)元素與最后一個(gè)交換,第二個(gè)與倒數(shù)第二個(gè)交換,依次類推。
相關(guān)推薦:計(jì)算機(jī)等級考試二級VB二十套上機(jī)試題及答案北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |