2013-03-25 3 views
1

많은 언어에는 C++의 vector<T> 또는 C#의 ArrayList<T>처럼 필요할 때 크기를 조정할 수있는 표준 유형이 있습니다. 그러나 Haxe에서는 그러한 데이터 구조가 보이지 않습니다.Haxe의 array.push() O (1)입니까?

Haxe에서 Array은 이렇게 작동합니까? 그것은 (상각 된) O (1)의 마지막 요소를 추가/제거 할 수 있습니까?

답변

2

은 기술적으로이 과정의 Array의 특정 플랫폼 구현에 의존하지만, push는 O를 상각 것을 그 달성하기 위해 꽤 똑바로 앞으로의 (1) (네코 구현 오히려 잘 보여줍니다) 가정하는 것이 안전합니다.

희소성을 지원하는 동적 크기의 Array와 함께 제공되는 모든 플랫폼에서 Haxe는 구현 (AFAIK는 플래시, js 및 PHP) 용으로 사용하지만, 성능이 저조한 메트릭을 보여 주었다면 다시 구현됩니다.

랜덤 액세스가 중요하지 않은 경우 List도 있습니다. 그러나 일부 플랫폼에서는 Array보다 빠릅니다.