00000000: 39 30 30 30 20 50 52 4F 43 20 53 48 45 4C 4C 53 |9000 PROC SHELLS|
00000010: 4F 52 54 27 53 54 52 28 52 45 46 20 41 24 28 29 |ORT'STR(REF A$()|
00000020: 2C 4D 2C 4E 29 20 43 4C 4F 53 45 44 0D 39 30 31 |,M,N) CLOSED.901|
00000030: 30 20 44 49 4D 20 54 24 20 4F 46 20 4D 41 58 4C |0 DIM T$ OF MAXL|
00000040: 45 4E 28 41 24 28 4D 29 29 0D 39 30 32 30 20 50 |EN(A$(M)).9020 P|
00000050: 3A 3D 4E 0D 39 30 33 30 20 57 48 49 4C 45 20 50 |:=N.9030 WHILE P|
00000060: 3E 31 20 44 4F 0D 39 30 34 30 20 50 3A 3D 50 20 |>1 DO.9040 P:=P |
00000070: 44 49 56 20 32 0D 39 30 35 30 20 52 45 50 45 41 |DIV 2.9050 REPEA|
00000080: 54 20 0D 39 30 36 30 20 44 3A 3D 54 52 55 45 0D |T .9060 D:=TRUE.|
00000090: 39 30 37 30 20 46 4F 52 20 4A 3A 3D 31 20 54 4F |9070 FOR J:=1 TO|
000000A0: 20 4E 2D 50 20 44 4F 0D 39 30 38 30 20 49 3A 3D | N-P DO.9080 I:=|
000000B0: 4A 2B 50 0D 39 30 39 30 20 49 46 20 41 24 28 4A |J+P.9090 IF A$(J|
000000C0: 29 3E 41 24 28 49 29 20 54 48 45 4E 0D 39 31 30 |)>A$(I) THEN.910|
000000D0: 30 20 53 57 41 50 27 53 54 52 28 41 24 28 49 29 |0 SWAP'STR(A$(I)|
000000E0: 2C 41 24 28 4A 29 2C 54 24 29 0D 39 31 31 30 20 |,A$(J),T$).9110 |
000000F0: 44 3A 3D 46 41 4C 53 45 0D 39 31 32 30 20 45 4E |D:=FALSE.9120 EN|
00000100: 44 49 46 20 0D 39 31 33 30 20 45 4E 44 46 4F 52 |DIF .9130 ENDFOR|
00000110: 20 4A 0D 39 31 34 30 20 55 4E 54 49 4C 20 44 0D | J.9140 UNTIL D.|
00000120: 39 31 35 30 20 45 4E 44 57 48 49 4C 45 20 0D 39 |9150 ENDWHILE .9|
00000130: 31 36 30 20 45 4E 44 50 52 4F 43 20 53 48 45 4C |160 ENDPROC SHEL|
00000140: 4C 53 4F 52 54 27 53 54 52 0D |LSORT'STR. |
9000 PROC SHELLSORT'STR(REF A$(),M,N) CL
OSED.9010 DIM T$ OF MAXLEN(A$(M)).9020 P
:=N.9030 WHILE P>1 DO.9040 P:=P DIV 2.90
50 REPEAT .9060 D:=TRUE.9070 FOR J:=1 TO
N-P DO.9080 I:=J+P.9090 IF A$(J)>A$(I)
THEN.9100 SWAP'STR(A$(I),A$(J),T$).9110
D:=FALSE.9120 ENDIF .9130 ENDFOR J.9140
UNTIL D.9150 ENDWHILE .9160 ENDPROC SHEL
LSORT'STR.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL