home *** CD-ROM | disk | FTP | other *** search
- C Bubble Sort Demonstration Program
- C Microsoft FORTRAN77
- C 4 October 1982
- C
- C The main routine reads from the terminal an array
- C of ten real numbers in F8.0 format and calls the
- C subroutine BUBBLE to sort them.
- C
- REAL R(10)
- INTEGER I
- WRITE (*,001)
- 001 FORMAT(1X,'Bubble Sort Demonstration Program.')
- 100 DO 103 I=1,10
- WRITE (*,101) I
- 101 FORMAT(1X,'Please input real number no. ',I2)
- READ (*,102) R(I)
- 102 FORMAT(F8.0)
- 103 CONTINUE
- CALL BUBBLE(R,10)
- WRITE (*,002)
- 002 FORMAT(/1X,'The sorted ordering from lowest to highest is:')
- WRITE (*,003) (R(I),I = 1,10)
- 003 FORMAT(2(1x,5F13.3/))
- STOP
- END
- C
- C Subroutine BUBBLE performs a bubble sort on a
- C one-dimensional real array of arbitrary length. It sorts
- C the array in ascending order.
- SUBROUTINE BUBBLE(X,J)
- INTEGER J,A1,A2
- REAL X(J),TEMP
- 100 IF (J .LE. 1) GOTO 101
- 200 DO 201 A1 = 1,J-1
- 300 DO 301 A2 = A1 + 1,J
- 400 IF (X(A1) .LE. X(A2)) GOTO 401
- TEMP = X(A1)
- X(A1) = X(A2)
- X(A2) = TEMP
- 401 CONTINUE
- 301 CONTINUE
- 201 CONTINUE
- 101 CONTINUE
- RETURN
- END
-
-