Uni-Basic program :
SORT.ARRAY:
DIRECTION = 1
MAX = DCOUNT(OUT.LIST,@FM)
MIN = 1
IF MAX = 0 THEN
OUT.LIST = STRING.REC
END ELSE
LOOP
MID = ((MAX-MIN+DIRECTION)/2)+MIN
WHILE MAX-MIN>1
IF STRING.REC<1,1> < OUT.LIST<MID,1> THEN
MAX = MID
DIRECTION=-1
END ELSE
MIN = MID
DIRECTION = 1
END
REPEAT
IF STRING.REC<1,1> < OUT.LIST<MID,1> THEN
INS STRING.REC BEFORE OUT.LIST<MID>
END ELSE
INS STRING.REC BEFORE OUT.LIST<MID+1>
END
END
RETURN
This page hosted by
Get your own Free Homepage