Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.comcsst +++| CTEXT COMCSST - SHELL SORT TABLE.
00002 M01S00002.comcsst +++| IF -DEF,QUAL$,1
00003 M01S00003.comcsst +++| QUAL COMCSST
00004 M01S00004.comcsst +++| BASE D
00005 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00006 M01S00005.comcsst +++| SST SPACE 4
00007 M01S00006.comcsst +++|*** SST - SHELL SORT TABLE.
00008 M01S00007.comcsst +++|* E. J. MUNDSTOCK. 70/10/07.
00009 M01S00008.comcsst +++|* UNIVERSITY OF MINNESOTA.
00010 M01S00009.comcsst +++| SST SPACE 4
00011 M01S00010.comcsst +++|*** SST SORTS A TABLE USING A SHELL SORTING TECHNIQUE.
00012 M01S00011.comcsst +++|* THE TABLE IS SORTED IN PLACE INTO ASCENDING ORDER.
00013 M01S00012.comcsst +++|* ALL ELEMENTS SHOULD BE OF THE SAME SIGN.
00014 M01S00013.comcsst +++|*
00015 M01S00014.comcsst +++|* ORIGIN OF TECHNIQUE IS CACM VOL 6 NUMBER 5 MAY 1963, P209.
00016 M01S00015.comcsst +++|* FIRST CODED BY R. HOTCHKISS IN *SORT1*.
00017 M01S00016.comcsst +++|* REVISED BY L. A. LIDDIARD.
00018 M01S00017.comcsst +++|*
00019 M01S00018.comcsst +++|* ENTRY (B1) = 1.
00020 M01S00019.comcsst +++|* (B7) = ADDRESS OF TABLE TO BE SORTED.
00021 M01S00020.comcsst +++|* (X1) = NUMBER OF ELEMENTS IN ARRAY.
00022 M01S00021.comcsst +++|*
00023 M01S00022.comcsst +++|* EXIT TABLE SORTED.
00024 M01S00023.comcsst +++|*
00025 M01S00024.comcsst +++|* USES X - 1, 2, 3, 4, 6, 7.
00026 M01S00025.comcsst +++|* B - 2, 3, 4, 5.
00027 M01S00026.comcsst +++|* A - 1, 2, 6, 7.
00028 M01S00027.comcsst +++|*
00029 M01S00028.comcsst +++|* CALLS NONE.
00030 M01S00029.comcsst +++|
00031 M01S00030.comcsst +++|
00032 M01S00031.comcsst +++| SST1 SA7 B5-B4 T(J+K) = S
00033 M01S00032.comcsst +++| SB2 B2+B1 I = I+1
00034 M01S00033.comcsst +++| EQ B2,B3,SST4 IF END OF TABLE
00035 M01S00034.comcsst +++| SST2 SA2 B2 S = T(I)
00036 M01S00035.comcsst +++| NO
00037 M01S00036.comcsst +++| SB5 B2+B4 J = I-K
00038 M01S00037.comcsst +++| BX7 X2
00039 M01S00038.comcsst +++| SST3 SA1 B5 T(J)
00040 M01S00039.comcsst +++| IX3 X2-X1 COMPARE S AND T(J)
00041 M01S00040.comcsst +++| PL X3,SST1 IF ELEMENTS IN ORDER
00042 M01S00041.comcsst +++| BX6 X1 T(J+K) = T(J)
00043 M01S00042.comcsst +++| SB5 B5+B4 J = J-K
00044 M01S00043.comcsst +++| SA6 A1-B4
00045 M01S00044.comcsst +++| GE B5,B7,SST3 IF J " FIRST
00046 M01S00045.comcsst +++| EQ SST1
00047 M01S00046.comcsst +++|
00048 M01S00047.comcsst +++| SST4 AX4 1 K = K/2
00049 M01S00048.comcsst +++| NO
00050 M01S00049.comcsst +++| SB4 X4 (B4) = -K
00051 M01S00050.comcsst +++| SB2 B7-B4 I = FIRST+K
00052 M01S00051.comcsst +++| NZ X4,SST2 IF K " 0
00053 M01S00052.comcsst +++|
00054 M01S00053.comcsst +++| SST PS ENTRY/EXIT
00055 M01S00054.comcsst +++| MX4 12 K = 2**(ENTIER(LOG2(COUNT)+1)
00056 M01S00055.comcsst +++| SB3 B7+X1 (B3) = LAST+1
00057 M01S00056.comcsst +++| NX6,B2 X1
00058 M01S00057.comcsst +++| AX4 X4,B2
00059 M01S00058.comcsst +++| EQ SST4 ENTER SORT LOOP
00060 M01S00059.comcsst +++| SPACE 4
00061 M01S00060.comcsst +++| BASE *
00062 M01S00061.comcsst +++| QUAL$ IF -DEF,QUAL$
00063 M01S00062.comcsst +++| QUAL *
00064 M01S00063.comcsst +++| SST= EQU /COMCSST/SST
00065 M01S00064.comcsst +++| QUAL$ ENDIF
00066 M01S00065.comcsst +++| ENDX