BCX Console Demonstration Program s111.bas
```
MACRO Maxx = 1000001

GLOBAL A[Maxx] AS INTEGER

GLOBAL B AS INTEGER
GLOBAL I AS INTEGER
GLOBAL J AS INTEGER
GLOBAL L AS INTEGER
GLOBAL M AS INTEGER
GLOBAL N AS INTEGER

CLS
COLOR 2,0

PRINT "***********************************************************************"
PRINT "            A Shell-Metzner Integer Sort Example For BCX"
PRINT "             Derived from a program by Judson McClendon"
PRINT "               based on original work by Donald Knuth"
PRINT "***********************************************************************"
PRINT "Sorting 1 million Integers takes about 15 seconds on my 300 mhz Pentium"
PRINT "***********************************************************************"

PRINT

N = 1000000

PRINT TIME\$, ": Storing 1 million random integers"

FOR I = 1 TO N
A[I] = RND * Maxx    ' Store random integers
NEXT

COLOR 4,0

PRINT TIME\$, ": Starting The Sort"
CALL Sort
PRINT TIME\$, ": Sorting Complete!"

SUB Sort
M = 3280
WHILE M
FOR J = 1 TO N - M
L = J + M
B = A[L]
FOR I = J TO 1 STEP -M
IF A[I] > B THEN
A[I + M] = A[I]
L = I
ELSE
I = 1
END IF
NEXT
A[L] = B
NEXT
M = (M - 1) / 3
WEND
END SUB

```

Result:

```
Result not displayed for this example.

```