📄 sortarray.f90
字号:
subroutine sortarray(n, ain, indxa) !-----------------------------------------------!! Purpose:! Sort an array! Alogrithm:! Based on Shell's sorting method.!! Author: T. Craig!----------------------------------------------- use precision implicit none!! Arguments! integer , intent(in) :: n ! total number of elements integer , intent(inout) :: indxa(n) ! array of integers real(r8), intent(inout) :: ain(n) ! array to sort!! local variables! integer :: i, j ! Loop indices integer :: ni ! Starting increment integer :: itmp ! Temporary index real(r8):: atmp ! Temporary value to swap ni = 4 do while(ni <= n) ni = 3*ni + 1 end do do while(ni > 1) ni = ni/3 do i = ni + 1, n atmp = ain(i) itmp = indxa(i) j = i do while(j > ni) if (ain(j-ni) <= atmp) exit ain(j) = ain(j-ni) indxa(j) = indxa(j-ni) j = j - ni end do ain(j) = atmp indxa(j) = itmp end do end do return end subroutine sortarray
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -