La classe Vector
Ds\Vector
&reftitle.intro;
Un Vector est une séquence de valeurs dans un tampon contigu qui grandit et
rétrécit automatiquement. C'est la structure séquentielle la plus efficace
car l'index d'une valeur est une correspondance directe avec son index dans
le tampon, et le facteur de croissance n'est pas lié à un multiple ou un
exposant spécifique.
Forces
Support de la syntaxe de tableau (crochets).
Utilise moins de mémoire globale qu'un &array; pour le même nombre de valeurs.
Libère automatiquement la mémoire allouée lorsque sa taille devient suffisamment faible.
La capacité n'a pas à être une puissance de 2.
get,
set,
push,
pop sont tous de complexité O(1).
Faiblesses
shift,
unshift,
insert et
remove sont tous de complexité O(n).
&reftitle.classsynopsis;
Ds\Vector
Ds\Vector
Ds\Sequence
ArrayAccess
&Constants;
const
int
Ds\Vector::MIN_CAPACITY
10
&Methods;
&reftitle.constants;
Ds\Vector::MIN_CAPACITY
&reftitle.changelog;
&Version;
&Description;
PECL ds 1.3.0
Cette classe implémente maintenant ArrayAccess.
&reference.ds.ds.entities.vector;