https://github.com/cran/fields
Tip revision: 32c60b2ec8167f7d2b26f55147b4e380a8ad77b3 authored by Doug Nychka on 25 September 2011, 00:00:00 UTC
version 6.6.1
version 6.6.1
Tip revision: 32c60b2
sortm.f
SUBROUTINE SORTM(K,ki,N)
C HEAPSORT ALGORITHM FOR SORTING ON VECTOR OF KEYS K OF LENGTH N
C J F MONAHAN TRANSCRIBED FROM KNUTH, VOL 2, PP 146-7.
C integer array ki is permuted along with K
REAL*8 K(N),KK
integer ki(N),kki
INTEGER R
IF(N.LE.1) RETURN
L=N/2+1
R=N
2 IF(L.GT.1) GO TO 1
KK=K(R)
kki= ki(R)
K(R)=K(1)
ki(R)=ki(1)
R=R-1
IF(R.EQ.1) GO TO 9
GO TO 3
1 L=L-1
KK=K(L)
kki=ki(L)
3 J=L
4 I=J
J=2*J
IF(J-R) 5,6,8
5 IF(K(J).LT.K(J+1)) J=J+1
6 IF(KK.GT.K(J)) GO TO 8
7 K(I)=K(J)
ki(I)=ki(J)
GO TO 4
8 K(I)=KK
ki(I)=kki
GO TO 2
9 K(1)=KK
ki(1)=kki
RETURN
END