⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortarray.f90

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 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 + -