葡萄籽的作用与功效:请帮忙些个VB的简单题目

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 01:00:58
编写一个函数,实现两分法查找算法
两分法查找的思路是,首先假设在查找的数字数组中,是按照从小到大的顺序排列的,要查找的关键值首先同中间的元素比较,若相同则查找成功,否则根具这个中间的数与要查找的数的大小关系,保留一半,在数组的另外一半中进行查找,如此重复,每次都到中间的数据去进行比较,每次将减少一半的查找数据,因此效率比较高。
编写的程序在数组ABC(1,3,4,6,8,12,32,36,54,58,66,71,79,88,91,93)中查找到数字12
程序采用一个递归的算法来实现

顶上面的

用java可以吗?......或者C....

书上有!

有一个文本框,一个按钮,文本框是输入要查找的数据的.

Dim a(100) As Integer
Dim flag As Integer
Function f(ByVal i As Integer, ByVal j As Integer, ByVal key As Integer) As Integer
Dim k As Integer
k = (i + j) / 2
If a(k) = key Then
flag = k
Exit Function
ElseIf a(k) > key Then
Call f(i, k - 1, key)
ElseIf a(k) < key Then
Call f(k + 1, j, key)
End If

End Function

Private Sub Command1_Click()

Dim i As Integer
Dim j As Integer
Dim k As Integer
For i = 0 To 5
a(i) = Val(InputBox("输入数组元素"))
Next i

For i = 0 To 4 '排序
For j = i + 1 To 5
If a(i) > a(j) Then
k = a(i)
a(i) = a(j)
a(j) = k
End If
Next j
Next i
k = Val(Text1.Text)
i = f(0, 5, k)
MsgBox (flag)
End Sub

这么简单,书上的例子啊

有一个文本框,一个按钮,文本框是输入要查找的数据的.

Dim a(100) As Integer
Dim flag As Integer
Function f(ByVal i As Integer, ByVal j As Integer, ByVal key As Integer) As Integer
Dim k As Integer
k = (i + j) / 2
If a(k) = key Then
flag = k
Exit Function
ElseIf a(k) > key Then
Call f(i, k - 1, key)
ElseIf a(k) < key Then
Call f(k + 1, j, key)
End If

End Function

Private Sub Command1_Click()

Dim i As Integer
Dim j As Integer
Dim k As Integer
For i = 0 To 5
a(i) = Val(InputBox("输入数组元素"))
Next i

For i = 0 To 4 '排序
For j = i + 1 To 5
If a(i) > a(j) Then
k = a(i)
a(i) = a(j)
a(j) = k
End If
Next j
Next i
k = Val(Text1.Text)
i = f(0, 5, k)
MsgBox (flag)
End Sub