home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / fortran / demo.for next >
Text File  |  1988-08-10  |  1KB  |  47 lines

  1. C     Bubble Sort Demonstration Program
  2. C     Microsoft FORTRAN77
  3. C     4 October 1982
  4. C
  5. C     The main routine reads from the terminal an array
  6. C     of ten real numbers in F8.0 format and calls the
  7. C     subroutine BUBBLE to sort them.
  8. C
  9.       REAL R(10)
  10.       INTEGER I
  11.       WRITE (*,001)
  12.   001 FORMAT(1X,'Bubble Sort Demonstration Program.')
  13.   100 DO 103 I=1,10
  14.       WRITE (*,101) I
  15.   101 FORMAT(1X,'Please input real number no. ',I2)
  16.       READ (*,102) R(I)
  17.   102 FORMAT(F8.0)
  18.   103 CONTINUE
  19.       CALL BUBBLE(R,10)
  20.       WRITE (*,002)
  21.   002 FORMAT(/1X,'The sorted ordering from lowest to highest is:')
  22.       WRITE (*,003) (R(I),I = 1,10)
  23.   003 FORMAT(2(1x,5F13.3/))
  24.       STOP
  25.       END
  26. C
  27. C     Subroutine    BUBBLE   performs   a   bubble   sort   on   a
  28. C     one-dimensional real array of arbitrary  length.   It  sorts
  29. C     the array in ascending order.
  30.       SUBROUTINE BUBBLE(X,J)
  31.       INTEGER J,A1,A2
  32.       REAL X(J),TEMP
  33.   100 IF (J .LE. 1) GOTO 101
  34.   200 DO 201 A1 = 1,J-1
  35.   300 DO 301 A2 = A1 + 1,J
  36.   400 IF (X(A1) .LE. X(A2)) GOTO 401
  37.       TEMP = X(A1)
  38.       X(A1) = X(A2)
  39.       X(A2) = TEMP
  40.   401 CONTINUE
  41.   301 CONTINUE
  42.   201 CONTINUE
  43.   101 CONTINUE
  44.       RETURN
  45.       END
  46.  
  47.