作者tirtle42 (...)
看板java
标题Re: [问题] C改写成Java时动态宣告array问题
时间Mon Apr 20 21:59:40 2009
※ 引述《leifjason (我的黑色翅膀~少爷)》之铭言:
: double* et= (double*)malloc(sizeof(double)*ARRAYSIZE);
: 想请教一下Java是否也有这样的功能呢?
: 但因为所读取的档案内容资料量不明~所以采用动态宣告阵列的方式~
: 程式码的ARRAYSIZE也只是给予颇大的值以应付未知的档案资料量~
上面几句话就点出
你的程式C语言版本就是用静态宣告了
一但未知的资料量太大
C语言版本也一样完蛋
: 目前改写成Java时我采用了土法炼钢的方式~先扫描一次1.txt计算资料量
: 再将资料量assign给ARRAYSIZE随即产生et 接着再读一次档案摆入资料~~
你Java语言版本就做的比C版本漂亮多了
至少'动态'了一些
也比较不会挂点
我想到最简单的做法是用Vector取代array
当空间不够时会自动扩充
不过这样的缺点是大量运算下程式会比较慢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.110.207
1F:推 zeat:读进来用Vector(LinkedList)再转成阵列, 应该可以吧 04/20 22:04