VB常用算法(八)查找

VB常用算法(八)查找,第1张

VB常用算法(八)查找,第2张

1.算法描述

1)顺序搜索


逐个查找元素。如果有,记录位置,然后跳出循环;否则,搜索会失败。


代码如下:


私有子搜索(a(),ByVal键,作为整数的索引)


Dim i%


For i = LBound(a)到UBound(a)


如果a(i) = Key,则' find,将元素下标保存在索引中并结束搜索。


Index = i


退出Sub


结束If


接下来我


Index = -1 '如果未找到,则索引值为-1。


结束Sub

二分搜索法


顺序搜索效率很低。当阵列按顺序排列时,可以使用二分搜索法来提高效率。


算法思想:

代码如下:


Private Sub birSearch(a()、ByVal low%、ByVal high%、ByVal Key、index%)


Dim mid为整数


If low > high Then '未找到。


index = -1


退出Sub


结束If


mid =(低+高)\ 2 '取搜索间隔的中点。


If Key = a(mid) Then '找到,并返回下标。


index = mid


退出Sub


ElseIf Key < a(mid) Then '搜索间隔在上半部分。


高=中1


其他


low = mid+1 '搜索间隔在下半部分。


结束If


Call Bir Search (a,low,high,key,index)'递归调用搜索函数。


End Sub

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VB常用算法(八)查找

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情