Fortran Coder

查看: 5449|回复: 2
打印 上一主题 下一主题

[通用算法] Fortran如何求一组数中的最小几个数(除了排序)

[复制链接]

11

帖子

4

主题

0

精华

入门

F 币
81 元
贡献
51 点

规矩勋章

跳转到指定楼层
楼主
发表于 2015-2-3 16:19:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一组数,比如:

a(1:7)=8,9,1,4,2,3,5

我要求出最小的前三个数,并求出它相应的下标,除了用排序法还有其它的方法可以实现吗?
谢谢!!!!!!!!!
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
沙发
发表于 2015-2-3 21:42:57 | 只看该作者
本帖最后由 li913 于 2015-2-3 21:46 编辑

[Fortran] 纯文本查看 复制代码
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 
   
如果只是在大量数据中找寻几个数据,或者数据总量很少,这个方法可以。否则还是排序的好。

评分

参与人数 1F 币 +9 贡献 +9 收起 理由
fcode + 9 + 9

查看全部评分

11

帖子

4

主题

0

精华

入门

F 币
81 元
贡献
51 点

规矩勋章

板凳
 楼主| 发表于 2015-2-3 22:46:57 | 只看该作者
li913 发表于 2015-2-3 21:42
[mw_shl_code=fortran,true]program test
implicit none
real(4) a(7)

嗯嗯,非常感谢!!!!!!!!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-24 00:38

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表