1

多くの言語には、C ++vector<T>やC#のように、必要に応じてサイズを変更できる標準タイプがありますArrayList<T>。しかし、Haxeではそのようなデータ構造は見当たりません。

ArrayHaxeではこのように機能しますか?(償却済み)O(1)の最後の要素を追加/削除できますか?

4

1 に答える 1

2

技術的にはもちろん、これはプラットフォーム固有の実装に依存しますが、O(1)を償却Arrayしたと考えるのは安全です。これは、push達成するのが非常に簡単だからです(nekoの実装はそれをかなりうまく示しています)。

スパースネスをサポートする動的サイズのアレイが付属するすべてのプラットフォームで、Haxeは実装にそれらを使用します(フラッシュ、js、phpであるAFAIK)が、それらが不十分なメトリックを示した場合、それらは再実装されると思います。

Listランダムアクセスが重要でない場合は、もあることに注意してください。ただし、一部のプラットフォームでは、これより速くなることはなくArray、小さいだけです。

于 2013-03-26T13:49:13.710 に答える