?? shell_sort.f90
字號(hào):
! 選擇排序法范例
! By Perng 1997/8/29
program SHELL_SORT_DEMO
implicit none
integer, parameter :: N=10
integer :: A(N)=(/6,2,8,4,0,9,3,5,1,7/) ! 排序的數(shù)據(jù)
write(*,"('Source=>',10I3)") A
call SHELL_SORT(A,N)
write(*,"('Sort=>',10I3)") A
stop
end program
!
! 選擇排序法的子程序
!
subroutine SHELL_SORT(A,N)
implicit none
integer :: N,A(N) ! 傳入的數(shù)據(jù)
integer I,J ! 循環(huán)計(jì)數(shù)器
integer TEMP ! 交換數(shù)值用
integer K ! K 值
K=N/2 ! K 的初值
do while( K>0 )
do I=K+1,N
J=I-K
do while( J>0 )
! 如果A(J)>A(J+K),要交換它們的數(shù)值,并往回取出
! A(J-K)、A(J)為新的一組來(lái)比較。
if ( A(J) .GT. A(J+K) ) then
TEMP=A(J)
A(J)=A(J+K)
A(J+K)=TEMP
J=J-K
else
exit ! A(J)<A(J+K)時(shí)可跳出循環(huán)
end if
end do
end do
K=K/2 ! 設(shè)定新的K值
end do
return
end subroutine
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -