1

许多语言都有一个标准类型,可以在需要时自行调整大小,例如 C++vector<T>或 C# ArrayList<T>。然而,在 Haxe 中,我没有看到这样的数据结构。

在 Haxe 中是否Array以这种方式工作?它可以添加/删除(摊销)O(1)中的最后一个元素吗?

4

1 回答 1

2

从技术上讲,这当然取决于特定于平台的实现Array,但可以安全地假设push已经摊销了 O(1),因为这很容易实现(neko 实现很好地表明了这一点)。

在所有带有支持稀疏性的动态大小数组的平台上,Haxe 都使用那些用于实现的平台(AFAIK,即 flash、js 和 php),但我想如果那些指标显示不佳,它们将被重新实现。

我会注意到还有List,如果随机访问不重要的话。但在某些平台上,它永远不会比 快Array,只会更小。

于 2013-03-26T13:49:13.710 回答