SUBROUTINE SORT (LIST, COUNT, ARRAY, COMP) INTEGER COUNT, LIST (1), ARRAY (1) INTEGER CT, STEP, COMP INTEGER I, J, K, L, M, N K = COUNT IF (K .LE. 1) RETURN CT = K STEP = 1 CONTINUE 13020 CONTINUE K = ISHFT (K, -1) IF (.NOT.(K .NE. 0))GO TO 13021 STEP = STEP + STEP GO TO 13020 13021 CONTINUE STEP = STEP - 1 CONTINUE 13022 CONTINUE K = 1 CONTINUE 13024 CONTINUE L = K I = L + STEP J = I N = LIST (I) CONTINUE 13026 CONTINUE M = LIST (L) IF (.NOT. (COMP (ARRAY (N), ARRAY (M)) .LT. 0))GO TO 13028 LIST (J) = M J = L L = J - STEP IF (.NOT. (L .GE. 1))GO TO 13030 GO TO 13026 13030 CONTINUE 13028 CONTINUE LIST (J) = N K = K + 1 IF (.NOT.(K + STEP .LE. CT))GO TO 13025 GO TO 13024 13025 CONTINUE STEP = ISHFT (STEP, -1) IF (.NOT.(STEP .NE. 0))GO TO 13023 GO TO 13022 13023 CONTINUE RETURN END