Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Challenge: Binary Search.
#14
I guess it's time I posted my old code for doing a binary search.
Code:
REM "BINSER" BINARY SEARCH SUBROUTINE. Edward F. Moneo 02-Jun-89.
REM
REM  CALLING SEQUENCE:
REM         BSTAB() = Name of the table to be searched.
REM               Z = Number of entries in table.
REM           BSARG = Search argument.
REM
REM  ON OUTPUT:   Z = Found table index, (Z=0=Not found)

BINSER:
  IF Z=0 THEN RETURN
  ZTOP=0                      'Pointer to the top -1
  ZBOT=Z+1                  'Pointer to the bottom+1
  IF Z=1 THEN               'Set increment (table offset)
     ZINC=1                    
  ELSE
     ZINC=Z/2
  END IF

  DO
      Z=ZTOP+ZINC
      IF BSTAB(Z)=BSARG THEN RETURN
      IF BSTAB(Z) < BSARG THEN
         ZTOP=ZTOP+ZINC
      ELSE
         ZBOT=ZTOP+ZINC
      END IF
      ZINC=ZINC/2
      IF ZINC=0 THEN ZINC=1
  LOOP WHILE ZTOP+ZINC < ZBOT

  Z=0
RETURN
*****
Reply


Messages In This Thread
Challenge: Binary Search. - by Moneo - 07-10-2003, 04:14 AM
Challenge: Binary Search. - by whitetiger0990 - 07-10-2003, 05:31 AM
Challenge: Binary Search. - by Ninkazu - 07-10-2003, 06:16 AM
Challenge: Binary Search. - by na_th_an - 07-10-2003, 08:16 AM
Challenge: Binary Search. - by relsoft - 07-10-2003, 10:16 AM
Challenge: Binary Search. - by Moneo - 07-10-2003, 10:11 PM
Challenge: Binary Search. - by Moneo - 07-11-2003, 05:54 AM
Challenge: Binary Search. - by na_th_an - 07-11-2003, 08:27 AM
Challenge: Binary Search. - by Moneo - 07-11-2003, 08:46 AM
Challenge: Binary Search. - by relsoft - 07-11-2003, 11:28 AM
Challenge: Binary Search. - by Moneo - 07-11-2003, 09:56 PM
Challenge: Binary Search. - by Moneo - 08-19-2003, 05:11 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)