SUBROUTINE SORT (LIST, COUNT, ARRAY, COMP) INTEGER COUNT, LIST (COUNT), ARRAY (COUNT) INTEGER CT, STEP, COMP INTEGER I, J, K, L, M, N K = COUNT IF (K .LE. 1) RETURN CT = K STEP = 1 CONTINUE 13012 CONTINUE K = ISHFT (K, -1) IF (.NOT.(K .NE. 0))GO TO 13013 STEP = STEP + STEP GO TO 13012 13013 CONTINUE STEP = STEP - 1 CONTINUE 13014 CONTINUE K = 1 CONTINUE 13016 CONTINUE L = K I = L + STEP J = I N = LIST (I) CONTINUE 13018 CONTINUE M = LIST (L) IF (.NOT. (COMP (ARRAY (N), ARRAY (M)) .LT. 0))GO TO 13020 LIST (J) = M J = L L = J - STEP IF (.NOT. (L .GE. 1))GO TO 13022 GO TO 13018 13022 CONTINUE 13020 CONTINUE LIST (J) = N K = K + 1 IF (.NOT.(K + STEP .LE. CT))GO TO 13017 GO TO 13016 13017 CONTINUE STEP = ISHFT (STEP, -1) IF (.NOT.(STEP .NE. 0))GO TO 13015 GO TO 13014 13015 CONTINUE RETURN END