subroutine sort(a, n) c c -- a variation of bubble sort c -- figure 6.5 c logical change integer n, j, n1 real a(1) c n1 = n - 1 10 change = .false. do 20 j = 1, n1 if (a(j) .le. a(j+1)) goto 20 call swap(a(j), a(j+1)) change = .true. 20 continue if (change) goto 10 return end