|
|
|
Click here to copy the following block |
Function BinarySearch(arr As Variant, search As Variant, _ Optional lastEl As Variant) As Long Dim index As Long Dim first As Long Dim last As Long Dim middle As Long Dim inverseOrder As Boolean If IsMissing(lastEl) Then lastEl = UBound(arr) first = LBound(arr) last = lastEl
inverseOrder = (arr(first) > arr(last))
BinarySearch = first - 1 Do middle = (first + last) \ 2 If arr(middle) = search Then BinarySearch = middle Exit Do ElseIf ((arr(middle) < search) Xor inverseOrder) Then first = middle + 1 Else last = middle - 1 End If Loop Until first > last End Function |
|
|
|
Submitted By :
Nayan Patel
(Member Since : 5/26/2004 12:23:06 PM)
|
|
|
Job Description :
He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting. |
View all (893) submissions by this author
(Birth Date : 7/14/1981 ) |
|
|