C This file: http://ftp.aset.psu.edu/pub/ger/fortran/hdk/BubbleSort.for C C===Sample Driver for BSORT Character*2 Stuff(10) DATA STUFF/'09','07','05','06','08','01','03','02','04','10'/ PRINT*,'Presort STUFF=',STUFF CALL BSORT(STUFF,10) PRINT*,'Postsort STUFF=',STUFF STOP END SUBROUTINE BSORT(CH,N) C===Bubble Sort; Knuth Volume 3, Algorithm B. CHARACTER*(*) CH(N) CHARACTER*2 TEMP INTEGER I,J,BOUND,T BOUND=N DO I=2,N T=0 DO J=1,BOUND-1 IF(CH(J).GT.CH(J+1)) THEN TEMP=CH(J) CH(J)=CH(J+1) CH(J+1)=TEMP T=J ENDIF END DO IF(T.EQ.0) THEN RETURN ELSE BOUND=T ENDIF END DO RETURN END