Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
23
Task/Binary-search/BBC-BASIC/binary-search.basic
Normal file
23
Task/Binary-search/BBC-BASIC/binary-search.basic
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
DIM array%(9)
|
||||
array%() = 7, 14, 21, 28, 35, 42, 49, 56, 63, 70
|
||||
|
||||
secret% = 42
|
||||
index% = FNwhere(array%(), secret%, 0, DIM(array%(),1))
|
||||
IF index% >= 0 THEN
|
||||
PRINT "The value "; secret% " was found at index "; index%
|
||||
ELSE
|
||||
PRINT "The value "; secret% " was not found"
|
||||
ENDIF
|
||||
END
|
||||
|
||||
REM Search ordered array A%() for the value S% from index B% to T%
|
||||
DEF FNwhere(A%(), S%, B%, T%)
|
||||
LOCAL H%
|
||||
H% = 2
|
||||
WHILE H%<(T%-B%) H% *= 2:ENDWHILE
|
||||
H% /= 2
|
||||
REPEAT
|
||||
IF (B%+H%)<=T% IF S%>=A%(B%+H%) B% += H%
|
||||
H% /= 2
|
||||
UNTIL H%=0
|
||||
IF S%=A%(B%) THEN = B% ELSE = -1
|
||||
Loading…
Add table
Add a link
Reference in a new issue