fortran使用ivf擴充套件qsort排序例項
阿新 • • 發佈:2019-01-26
Program testQsort use ifport integer(2), external :: cmp_f1, cmp_f2 real(4) :: x(5) integer(sizeof_size_t) :: a_len, a_size x = [1.,-3.,2.,5.,4.] print*, 'before...' print*, x a_len = size(x) a_size = kind(x) call qsort( x, a_len, a_size, cmp_f1 ) print*, 'positive sequence...' print*, x call qsort( x, a_len, a_size, cmp_f2 ) print*, 'inverted order...' print*, x end program testQsort integer(2) function cmp_f1( a1, a2 ) implicit none real(4) :: a1, a2 cmp_f1 = a2 - a1 end function cmp_f1 integer(2) function cmp_f2( a1, a2 ) implicit none real(4) :: a1, a2 cmp_f2 = a1 - a2 end function cmp_f2