SUBROUTINE ZPKSR2(N,ARR,BRR) C C Module Number: C C Module Name: ZPKSR2 C C Keyphrase: C ---------- C sort data into ascending order C C Description: C ------------ C sorts an array ARR of length N into ascending order, by straight insertion C while making the corresponding rearrangement in array BRR C (From Press, William H. et al, NUMERICAL RECIPES, 1986) C C FORTRAN Name: ZPKSR2.for C C C Keywords of Accessed Files : C -------------------------- C none C C Modules Called: C --------------- C none C C History: C -------- C Version Date Author Description C 1.0 10/MAR/86 D. Lindler Copied from NUMERICAL RECIPES C 2.0 DEC 87 D. LINDLER NEW SDAS STANDARDS C------------------------------------------------------------------------ C C INPUT: C INTEGER N C ---> NUMBER OF DATA POINTS C C INPUT/OUTPUT C DOUBLE PRECISION ARR(1),BRR(1) C ---> ARRAYS TO BE SORTED C C LOCAL VARIABLES C DOUBLE PRECISION A,B C ---> TEMPORARY STORAGE OF ARRAY ELEMENTS INTEGER I,J C ---> INDICES C C--------------------------------------------------------------------------- C DO 100 J=2,N C ---> PICK OUT EACH ELEMENT IN TURN A=ARR(J) B=BRR(J) DO 5 I=J-1,1,-1 C ---> LOOK FOR PLACE TO INSERT IN IF(ARR(I).LE.A)GO TO 10 ARR(I+1)=ARR(I) BRR(I+1)=BRR(I) 5 CONTINUE I=0 10 ARR(I+1)=A BRR(I+1)=B 100 CONTINUE RETURN END