MaxSize = 5
REDIM MyArray(MaxSize)
MyArray(1) = INT(RND(1) * 10) + 1
PRINT MyArray(1); SPACE$(1);
FOR I = 2 TO MaxSize
MyArray(I) = MyArray(I - 1) + INT(RND(1) * 10) + 1
PRINT MyArray(I); SPACE$(1);
NEXT I
PRINT
INPUT "Which number do you want to find: "; FindMe
Left = 1
Right = MaxSize
Time2Stop = 0
WHILE Time2Stop = 0
Half = INT((Left + Right) / 2)
IF FindMe < MyArray(Half) THEN
Right = Half - 1
ELSE
Left = Half + 1
END IF
IF (FindMe = MyArray(Half) OR Left > Right) THEN
Time2Stop = 1
END IF
WEND
IF FindMe = MyArray(Half) THEN
PRINT "Found it in location "; Half
ELSE
PRINT "The number you want is not in the list."
END IF
END
Sunday, 6 May 2012
Binary Search in Liberty BASIC
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment