25 lines
663 B
Text
25 lines
663 B
Text
#APPTYPE CONSOLE
|
|
|
|
DIM va[]
|
|
|
|
PRINT "Loading ... ";
|
|
DIM gtc = GetTickCount()
|
|
FOR DIM i = 0 TO 1000000: va[] = i * PI: NEXT
|
|
PRINT "done in ", GetTickCount() - gtc, " milliseconds"
|
|
|
|
gtc = GetTickCount()
|
|
PRINT 1000000 * PI, " found at index ", BSearchRec(va, 1000000 * PI, LBOUND(va), UBOUND(va)), _
|
|
" in ", GetTickCount() - gtc, " milliseconds"
|
|
|
|
PAUSE
|
|
|
|
FUNCTION BSearchRec(BYVAL array, BYVAL num, BYVAL low, BYVAL high)
|
|
IF high < low THEN RETURN -1
|
|
DIM midp = (high + low) \ 2
|
|
IF array[midp] > num THEN
|
|
RETURN BSearchRec(array, num, low, midp - 1)
|
|
ELSEIF array[midp] < num THEN
|
|
RETURN BSearchRec(array, num, midp + 1, high)
|
|
END IF
|
|
RETURN midp
|
|
END FUNCTION
|