當前位置:成語大全網 - 書法字典 - 如何在VB數組中查找數據?

如何在VB數組中查找數據?

有序數的快速搜索方法(非遞歸方法)

私有子命令1_Click()

dim DD(27)壹樣長

Dim aa壹樣長

變暗變長

DD(0)= 75

DD(1)= 80

DD(2)= 85

DD(3)= 90

DD(4)= 95

DD(5)= 100

DD(6)= 106

DD(7)= 112

DD(8)= 118

DD(9)= 125

DD(10)= 132

DD(11)= 140

DD(12)= 150

DD(13)= 160

DD(14)= 180

DD(15)= 200

DD(16)= 224

DD(17)= 250

DD(18)= 280

DD(19)= 315

DD(20)= 355

DD(21)= 400

DD(22)= 450

DD(23)= 500

DD(24)= 560

DD(25)= 630

DD(26)= 710

DD(27)= 800

Aa = 280要查找的數字。

‘v = NumFind(DD,aa)‘調用查找函數。

如果v = -1那麽

MsgBox“未找到數據”,VB感嘆號,“提示”

其他

MsgBox“您現在正在尋找的內容:“&;aa & amp該值在dd數組中:“&;v & amp“元素。”,vbInformation,“信息”

如果…就會結束

末端接頭

公共函數NumFind(ByRef Myarray,FNumber As Variant)壹樣長

暗淡的K壹樣長,我壹樣長

Dim L1壹樣長,R1壹樣長

Dim l壹樣長,R壹樣長

l = LBound(Myarray):R = UBound(Myarray)

下壹循環:

k =(l+R)模2

如果K = 1,那麽“中點”

I =(l+R+1)\ 2

其他

I =(l+R)\ 2

如果…就會結束

如果Myarray(I)& lt;& gt那麽是多少

if Myarray(I)& gt;那麽是多少

L1 = l: R1 = I

其他

L1 = I: R1 = R

如果…就會結束

if(r 1-l 1)= 1 then‘第壹個和最後壹個。

如果Myarray(l 1)= f number,則

NumFind = L1

else if Myarray(r 1)= f number Then

NumFind = R1

其他

找不到NumFind = -1。

如果…就會結束

其他

l = L1: R = R1

轉到下壹循環

如果…就會結束

其他

NumFind = I

如果…就會結束

結束功能