24小时热门版块排行榜    

Znn3bq.jpeg
查看: 404  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 浔荆 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 5/250 2026-05-20 10:03 by Mr.Zot
[有机交流] 如何实现卤原子转化 +3 BT20230424 2026-05-15 8/400 2026-05-20 09:32 by xtlilibin
[基金申请] 河北省自然科学基金 +3 Peterchao 2026-05-18 3/150 2026-05-20 08:57 by 霸_霸
[基金申请] 评审有感 +11 popular289 2026-05-18 20/1000 2026-05-20 08:55 by gy116024
[基金申请] 今年审到国自然15份,谈谈感受 +17 国自然国社科中 2026-05-17 18/900 2026-05-20 00:03 by kksky
[考博] 云南大学材料与能源学院解琳课题组钙钛矿博士招生 +3 光伏爱好者 2026-05-17 5/250 2026-05-19 19:13 by 光伏爱好者
[论文投稿] Sci. Bull. 悲剧经验 +4 jyang1999 2026-05-16 4/200 2026-05-19 10:56 by maolC
[考博] 26/27申博自荐-锂/钠电池方向 5+3 狗头军师. 2026-05-15 4/200 2026-05-19 09:10 by moonboat
[基金申请] 同样的基金本子,换个专家直接从C变A! (金币-10) +3 国自然国社科中 2026-05-19 3/150 2026-05-19 08:50 by Equinoxhua
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +8 1234567wang 2026-05-17 10/500 2026-05-18 18:52 by zzahkj
[基金申请] 国自然上会要求 +5 无名者登山 2026-05-18 9/450 2026-05-18 17:50 by BlakeReary
[基金申请] 青C资助名额大幅增加! +12 西葫芦炒鸡蛋 2026-05-13 16/800 2026-05-18 10:02 by Equinoxhua
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
[文学芳草园] 半夜喝咖啡 +3 myrtle 2026-05-15 5/250 2026-05-18 01:03 by 小沈2018
[考博] 光量子物理方向 博士招生 1人(2026.09) +3 sandyworld 2026-05-15 4/200 2026-05-17 14:38 by sandyworld
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 6/300 2026-05-16 19:46 by Equinoxhua
[有机交流] 求有机合成大神指点三硫酸乙烯酯(CAS:2793408-99-6)的合成路线 30+3 Leekmid 2026-05-13 10/500 2026-05-16 16:37 by czyzsu
[硕博家园] 申请博士 +3 呃?呃 2026-05-15 3/150 2026-05-16 11:01 by a4742549
[考博] 26应届毕业生考博求助 +3 wo一定上岸 2026-05-13 3/150 2026-05-14 21:47 by 明海天涯
信息提示
请填处理意见