Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
17
Task/Binary-search/BASIC/binary-search-1.basic
Normal file
17
Task/Binary-search/BASIC/binary-search-1.basic
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
FUNCTION binary_search ( array() AS Integer, value AS Integer, lo AS Integer, hi AS Integer) AS Integer
|
||||
DIM middle AS Integer
|
||||
|
||||
IF hi < lo THEN
|
||||
binary_search = 0
|
||||
ELSE
|
||||
middle = (hi + lo) / 2
|
||||
SELECT CASE value
|
||||
CASE IS < array(middle)
|
||||
binary_search = binary_search(array(), value, lo, middle-1)
|
||||
CASE IS > array(middle)
|
||||
binary_search = binary_search(array(), value, middle+1, hi)
|
||||
CASE ELSE
|
||||
binary_search = middle
|
||||
END SELECT
|
||||
END IF
|
||||
END FUNCTION
|
||||
17
Task/Binary-search/BASIC/binary-search-2.basic
Normal file
17
Task/Binary-search/BASIC/binary-search-2.basic
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
FUNCTION binary_search ( array() AS Integer, value AS Integer, lo AS Integer, hi AS Integer) AS Integer
|
||||
DIM middle AS Integer
|
||||
|
||||
WHILE lo <= hi
|
||||
middle = (hi + lo) / 2
|
||||
SELECT CASE value
|
||||
CASE IS < array(middle)
|
||||
hi = middle - 1
|
||||
CASE IS > array(middle)
|
||||
lo = middle + 1
|
||||
CASE ELSE
|
||||
binary_search = middle
|
||||
EXIT FUNCTION
|
||||
END SELECT
|
||||
WEND
|
||||
binary_search = 0
|
||||
END FUNCTION
|
||||
23
Task/Binary-search/BASIC/binary-search-3.basic
Normal file
23
Task/Binary-search/BASIC/binary-search-3.basic
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
SUB search (array() AS Integer, value AS Integer)
|
||||
DIM idx AS Integer
|
||||
|
||||
idx = binary_search(array(), value, LBOUND(array), UBOUND(array))
|
||||
PRINT "Value "; value;
|
||||
IF idx < 1 THEN
|
||||
PRINT " not found"
|
||||
ELSE
|
||||
PRINT " found at index "; idx
|
||||
END IF
|
||||
END SUB
|
||||
|
||||
DIM test(1 TO 10) AS Integer
|
||||
DIM i AS Integer
|
||||
|
||||
DATA 2, 3, 5, 6, 8, 10, 11, 15, 19, 20
|
||||
FOR i = 1 TO 10 ' Fill the test array
|
||||
READ test(i)
|
||||
NEXT i
|
||||
|
||||
search test(), 4
|
||||
search test(), 8
|
||||
search test(), 20
|
||||
Loading…
Add table
Add a link
Reference in a new issue