mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
	
	
		
			28 lines
		
	
	
		
			393 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			393 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
|  | subroutine shell(n,a)
 | ||
|  |   integer n
 | ||
|  |   real a(n)
 | ||
|  |   integer i,j,inc
 | ||
|  |   real v
 | ||
|  | 
 | ||
|  |   inc=1
 | ||
|  | 1 inc=3*inc+1
 | ||
|  |   if(inc.le.n) go to 1
 | ||
|  | 2  inc=inc/3
 | ||
|  | 
 | ||
|  |   do i=inc+1,n
 | ||
|  |      v=a(i)
 | ||
|  |      j=i
 | ||
|  | 3    if(a(j-inc).gt.v) then
 | ||
|  |         a(j)=a(j-inc)
 | ||
|  |         j=j-inc
 | ||
|  |         if(j.le.inc) go to 4
 | ||
|  |         go to 3
 | ||
|  |      endif
 | ||
|  | 4    a(j)=v
 | ||
|  |   enddo
 | ||
|  | 
 | ||
|  |   if(inc.gt.1) go to 2
 | ||
|  | 
 | ||
|  |   return
 | ||
|  | end subroutine shell
 |