在 Fortran 77 中合并数组
Merging arrays in Fortran 77
我有两个数组:A = [1 2 3 4]
和 B = [5 6 7 8]
。如何将A & B 合并到一个数组C 中,然后按升序对C 进行排序?我需要在 Fortran 77 中执行此操作。
这是 concatenation/sorting 算法的简单实现:
program sort
integer size1, size2, sizeout
parameter (size1 = 4, size2 = 4)
parameter (sizeout = size1 + size2)
integer in1(size1), in2(size1)
data in1/1,2,4,4/, in2/5,8,7,5/
integer out(sizeout)
c concatenate arrays
do j=1,size1
out(j)=in1(j)
enddo
do j=1,size2
out(j+size1)=in2(j)
enddo
c sort the elements of the output array
4 do j=2,sizeout
if(out(j).lt.out(j-1)) then
temp =out(j-1)
out(j-1)=out(j )
out(j )=temp
goto 4
endif
enddo
end
我有两个数组:A = [1 2 3 4]
和 B = [5 6 7 8]
。如何将A & B 合并到一个数组C 中,然后按升序对C 进行排序?我需要在 Fortran 77 中执行此操作。
这是 concatenation/sorting 算法的简单实现:
program sort
integer size1, size2, sizeout
parameter (size1 = 4, size2 = 4)
parameter (sizeout = size1 + size2)
integer in1(size1), in2(size1)
data in1/1,2,4,4/, in2/5,8,7,5/
integer out(sizeout)
c concatenate arrays
do j=1,size1
out(j)=in1(j)
enddo
do j=1,size2
out(j+size1)=in2(j)
enddo
c sort the elements of the output array
4 do j=2,sizeout
if(out(j).lt.out(j-1)) then
temp =out(j-1)
out(j-1)=out(j )
out(j )=temp
goto 4
endif
enddo
end