Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
25
Task/Binary-search/Chipmunk-Basic/binary-search.basic
Normal file
25
Task/Binary-search/Chipmunk-Basic/binary-search.basic
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
100 rem Binary search
|
||||
110 cls
|
||||
120 dim a(10)
|
||||
130 n% = 10
|
||||
140 for i% = 0 to 9 : read a(i%) : next i%
|
||||
150 rem Sorted data
|
||||
160 data -31,0,1,2,2,4,65,83,99,782
|
||||
170 x = 2 : gosub 280
|
||||
180 gosub 230
|
||||
190 x = 5 : gosub 280
|
||||
200 gosub 230
|
||||
210 end
|
||||
220 rem Print result
|
||||
230 print x;
|
||||
240 if indx% >= 0 then print "is at index ";str$(indx%);"." else print "is not found."
|
||||
250 return
|
||||
260 rem Binary search algorithm
|
||||
270 rem N% - number of elements; X - searched element; Result: INDX% - index of X
|
||||
280 l% = 0 : h% = n%-1 : found% = 0
|
||||
290 while (l% <= h%) and not found%
|
||||
300 m% = l%+int((h%-l%)/2)
|
||||
310 if a(m%) < x then l% = m%+1 else if a(m%) > x then h% = m%-1 else found% = -1
|
||||
320 wend
|
||||
330 if found% = 0 then indx% = -1 else indx% = m%
|
||||
340 return
|
||||
Loading…
Add table
Add a link
Reference in a new issue