Fortran如何求一组数中的最小几个数(除了排序)
我有一组数,比如:a(1:7)=8,9,1,4,2,3,5
我要求出最小的前三个数,并求出它相应的下标,除了用排序法还有其它的方法可以实现吗?
谢谢!!!!!!!!!
本帖最后由 li913 于 2015-2-3 21:46 编辑
program test
implicit none
real(4) a(7)
logical Lgc(7)
integer ind(1), i
a=(/8,9,1,4,2,3,5/)
Lgc =.true.
do i=1,3
ind = minloc(a,Lgc)
print*,ind! 3,5,6
lgc(ind(1)) = .false.
end do
end program
如果只是在大量数据中找寻几个数据,或者数据总量很少,这个方法可以。否则还是排序的好。
li913 发表于 2015-2-3 21:42
program test
implicit none
real(4) a(7)
嗯嗯,非常感谢!!!!!!!!
页:
[1]