Advertisement
ChristophX86

Search Array

Jul 8th, 2012
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 0.43 KB | None | 0 0
  1. ; search a sorted array
  2. Func _Search(ByRef $Array, $Element)
  3.     Local $a = UBound($Array, 1), $b = Int($a/2), $c = 0, $d = 1, $i
  4.     For $i = 1 To Int($a/2) Step 1 ; to prevent infinite loops
  5.         If ($Element = $Array[$b+($c*$d)]) Then
  6.             Return $b+($c*$d)
  7.         ElseIf ($Element > $Array[$b+($c*$d)]) Then
  8.             $b += ($c*$d)
  9.             $c = Int($b/2)
  10.             $d = 1
  11.         Else
  12.             $b += ($c*$d)
  13.             $c = Int($b/2)
  14.             $d = -1
  15.         EndIf
  16.     Next
  17.     Return -1
  18. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement