【发布时间】:2015-11-18 08:16:29
【问题描述】:
假设我们正在使用没有动态内存的开发环境(只有具有固定边界的静态数组)。如何实现 List(或 ArrayList)。 好吧,我想在尝试将元素添加到完整数组时创建更大尺寸的新数组,但我希望有更有效的方法。 P.S 我不是在要求实施,我是在寻求想法:)
【问题讨论】:
-
一个常见的技巧是在列表已满时重新创建列表。不只是一个元素,而是很多,预期尺寸增长。这样,如果达到上限,您只会对性能产生很小的影响。 ...哦等等...这就是你的建议:-)
-
另一种方法是为所有可能的类型创建一个容器,并为该容器(或一对)创建尽可能大的列表。然后,您将能够从该大数组创建子列表,并在该容器中定义类型。有点像旧的
VARIANT(msdn.microsoft.com/en-us/library/windows/desktop/…) 容器。它会让你的速度超过内存,但通常这是不值得的。
标签: arrays algorithm data-structures static