Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
17
Task/Binary-search/VBA/binary-search-1.vba
Normal file
17
Task/Binary-search/VBA/binary-search-1.vba
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
Public Function BinarySearch(a, value, low, high)
|
||||
'search for "value" in ordered array a(low..high)
|
||||
'return index point if found, -1 if not found
|
||||
|
||||
If high < low Then
|
||||
BinarySearch = -1 'not found
|
||||
Exit Function
|
||||
End If
|
||||
midd = low + Int((high - low) / 2) ' "midd" because "Mid" is reserved in VBA
|
||||
If a(midd) > value Then
|
||||
BinarySearch = BinarySearch(a, value, low, midd - 1)
|
||||
ElseIf a(midd) < value Then
|
||||
BinarySearch = BinarySearch(a, value, midd + 1, high)
|
||||
Else
|
||||
BinarySearch = midd
|
||||
End If
|
||||
End Function
|
||||
13
Task/Binary-search/VBA/binary-search-2.vba
Normal file
13
Task/Binary-search/VBA/binary-search-2.vba
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
Public Sub testBinarySearch(n)
|
||||
Dim a(1 To 100)
|
||||
'create an array with values = multiples of 10
|
||||
For i = 1 To 100: a(i) = i * 10: Next
|
||||
Debug.Print BinarySearch(a, n, LBound(a), UBound(a))
|
||||
End Sub
|
||||
|
||||
Public Sub stringtestBinarySearch(w)
|
||||
'uses BinarySearch with a string array
|
||||
Dim a
|
||||
a = Array("AA", "Maestro", "Mario", "Master", "Mattress", "Mister", "Mistress", "ZZ")
|
||||
Debug.Print BinarySearch(a, w, LBound(a), UBound(a))
|
||||
End Sub
|
||||
19
Task/Binary-search/VBA/binary-search-3.vba
Normal file
19
Task/Binary-search/VBA/binary-search-3.vba
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
Public Function BinarySearch2(a, value)
|
||||
'search for "value" in array a
|
||||
'return index point if found, -1 if not found
|
||||
|
||||
low = LBound(a)
|
||||
high = UBound(a)
|
||||
Do While low <= high
|
||||
midd = low + Int((high - low) / 2)
|
||||
If a(midd) = value Then
|
||||
BinarySearch2 = midd
|
||||
Exit Function
|
||||
ElseIf a(midd) > value Then
|
||||
high = midd - 1
|
||||
Else
|
||||
low = midd + 1
|
||||
End If
|
||||
Loop
|
||||
BinarySearch2 = -1 'not found
|
||||
End Function
|
||||
Loading…
Add table
Add a link
Reference in a new issue