-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsort2.f
41 lines (41 loc) · 802 Bytes
/
sort2.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
SUBROUTINE SORT2(N,RA,RB)
DIMENSION RA(N),RB(N)
L=N/2+1
IR=N
10 CONTINUE
IF(L.GT.1)THEN
L=L-1
RRA=RA(L)
RRB=RB(L)
ELSE
RRA=RA(IR)
RRB=RB(IR)
RA(IR)=RA(1)
RB(IR)=RB(1)
IR=IR-1
IF(IR.EQ.1)THEN
RA(1)=RRA
RB(1)=RRB
RETURN
ENDIF
ENDIF
I=L
J=L+L
20 IF(J.LE.IR)THEN
IF(J.LT.IR)THEN
IF(RA(J).LT.RA(J+1))J=J+1
ENDIF
IF(RRA.LT.RA(J))THEN
RA(I)=RA(J)
RB(I)=RB(J)
I=J
J=J+J
ELSE
J=IR+1
ENDIF
GO TO 20
ENDIF
RA(I)=RRA
RB(I)=RRB
GO TO 10
END