目前我有一个TCube
数组
CreateCube : array[1..1000] of tcube;
目前将它们用作地图,因此您可能有30个立方体宽,20个立方体高,从而形成一个大网格。但是1000个立方体并不足以满足我的需要,我需要更多像10,000个立方体。
这个尺寸的阵列是否会引发问题?还有其他选择吗?
答案 0 :(得分:16)
大型数组有两个主要方案存在问题:
答案 1 :(得分:5)
数组可以与内存允许的一样大。但是如果它是一个局部变量,或者你将按值传递给某个方法,那么请注意,你可以轻松地从堆栈中删除。
答案 2 :(得分:2)
我只能建议您选择正确的数据结构。其中大部分将取决于阵列的填充程度。如果数组很大但是人口很少,稀疏数组可能会很好用。
就个人而言,我编写了一个自定义列表类来包含TCube实例。这比阵列有几个优点。首先,它会动态消耗内存。其次,您可以向此类添加其他方法以适合您的应用程序。