目前我有一个TCube
数组
CreateCube : array[1..1000] of tcube;
目前将它们用作地图,因此您可能有 30 个立方体宽、20 个立方体高,从而形成一个大网格。但是 1000 个立方体并不足以满足我的需要,我需要更像 10,000 个立方体。
拥有这么大的数组会不会导致问题发生?还有其他选择吗?
目前我有一个TCube
数组
CreateCube : array[1..1000] of tcube;
目前将它们用作地图,因此您可能有 30 个立方体宽、20 个立方体高,从而形成一个大网格。但是 1000 个立方体并不足以满足我的需要,我需要更像 10,000 个立方体。
拥有这么大的数组会不会导致问题发生?还有其他选择吗?
大型数组存在问题的主要情况有两种:
数组可以与内存允许的一样大。但是如果它是一个局部变量,或者如果你通过值将它传递给某个方法,那么要小心,你很容易出栈。
选择正确的数据结构是我只能建议您的事情。其中大部分将取决于阵列的填充程度。如果数组很大但人口稀少,稀疏数组可能会很好用。
就个人而言,我会编写一个自定义列表类来包含 TCube 实例。与数组相比,这有几个优点。首先,它会动态消耗内存。其次,您可以向此类添加其他方法以适合您的应用程序。