计算机考试二级VB常用算法(8):排序
1.算法描述
1)顺序搜索
逐个元素搜索。如果有,记录位置,然后跳出循环;否则,搜索会失败。
代码如下:
Private Subsearch (a(),byvalkey,Index integer)
dim I %
for I = lbound(a)to ubound(a)
如果a (i) = key then '找到,则保存Index中的元素下标并结束搜索
Index = I
exit Sub
End If
next I
Index =-1 '如果未找到
算法思想:
代码如下:
private subbir search (a(),byvallow%,byvalhigh%,byvalkey,Index %)
dimmid as integer
If low > high Then ' not found
exit sub
end If
mid =(low+high)\ 2 '取搜索区间的中点
If Key = a(mid) Then '并找到, return subscript
index = mid
exit sub
else if key < a(mid)then '搜索区间在上半部分
high = mid-1
else
Low = mid+1 '搜索区间在下半部分
end if
调用Bir search (a,Low,high,key, Index)'递归调用查找函数
End Sub
调用方法:
private subcommand 1 _ click()
Dim a(11)
a(1)= 5:a(2)= 13:a(= 21:a(5)= 37
a(6)= 56:a(7)= 64:a(8)= 75:a(9)= 80:a(10)= 88:a(1)
0条评论