sort.f90

来自「FORTRANvisualfortran常用数值算法集及源码」· F90 代码 · 共 38 行

F90
38
字号
SUBROUTINE sort(n,ra)
REAL ra(n)
INTEGER i,ir,j,l
REAL a,aaa,rra
l=n/2+1
ir=n
do 
  if (l>1) then
    l=l-1
    rra=ra(l)
  else
    rra=ra(ir)
    ra(ir)=ra(1)
    ir=ir-1
    if (ir==1) then
      ra(1)=rra
      return
    endif
  endif
  i=l
  j=l+l
  do while(j<=ir) 
    aaa=1.
    if (j<ir) then
      if (ra(j)<ra(j+1)) j=j+1
    endif
    if (rra<ra(j)) then
      ra(i)=ra(j)
      i=j
      j=j+j
    else
      j=ir+1
    endif
  end do 
  ra(i)=rra
end do
END SUBROUTINE sort

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?