24小时热门版块排行榜    

查看: 465  |  回复: 2

浔荆

木虫 (正式写手)

[求助] 如何解决程序中所需数组大小变动的问题? 已有1人参与

最近的编程中,经常要向模型中动态的加入新的对象。例如一开始数组记录100个原子的坐标,随着时间增长,原子数越来越多,所需的数组大小也越来越大。
若是用allocatable数组的话,需要频繁的deallocate,对此我只能预估一个可能需要的最大对象数,建立一个比此稍大的数组。但十分的不方便,也还存在数组溢出的可能。
若是用类似链表的串行数据的话,倒是解决了数组上限的问题,不过串行数据读取十分麻烦,效率没有数组高,可行性也不大。
在此请教各位大师,有没有办法既可以拥有串行数据随意增减的功能,又拥有数组读取方便的功能呢?
请各位大师指教。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

安靖

银虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
浔荆: 金币+20, ★★★★★最佳答案 2014-09-16 10:22:22
推荐还是用allocatable数组比较好。可以这么做
一般来说,你可以根据自己分析问题的规模先设定一个数组大小,比如N,然后分配数组空间。
当空间不够时,重新分配空间,但是你可以在原有空间大小上乘以一个系数,例如0.1。
这样每次分配空间,数组是以等比数列增长,既保证了数组空间,又不会太过频繁的申请空间。
2楼2014-09-15 16:00:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

浔荆

木虫 (正式写手)

引用回帖:
2楼: Originally posted by 安靖 at 2014-09-15 16:00:49
推荐还是用allocatable数组比较好。可以这么做
一般来说,你可以根据自己分析问题的规模先设定一个数组大小,比如N,然后分配数组空间。
当空间不够时,重新分配空间,但是你可以在原有空间大小上乘以一个系数,例 ...

这倒是一个好思路,谢谢你的回复,让我受益匪浅
3楼2014-09-16 10:22:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 浔荆 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] FileCode能看出啥? +8 要乐观耀哥 2026-08-10 23/1150 2026-08-13 00:35 by 要乐观耀哥
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 36/1800 2026-08-12 22:50 by sdfapple719
[基金申请] 关于Filecode分析方法 +8 majunge000 2026-08-10 9/450 2026-08-12 22:17 by 虫友是什么虫
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[基金申请] 长年满屏的广告,版主太不责任了。基金也等的急 +4 gltch 2026-08-12 4/200 2026-08-12 16:08 by eulota
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
信息提示
请填处理意见