Différence entre vecteur et liste Différence entre

Anonim

Vector vs List

Souvent confondus avec les programmeurs, les vecteurs et les listes sont des séquences utilisées dans les collections de tableaux en C ++ et Java. Les deux termes contiennent des adresses de tableau mais avec des méthodes différentes de stockage des tableaux.

La chose fondamentale que nous devons savoir est qu'un tableau est une "liste" qui contient une partie ou la totalité des données, i. e., entiers, flottants ou caractères et est défini entre parenthèses "[]. "

En fait, les vecteurs et les listes agissent en fonction des instances. Alors jetons un coup d'oeil à ces deux termes un par un.

Vecteurs

Les vecteurs sont utilisés dans le stockage et l'accès aux éléments. Ici, vous pouvez accéder à n'importe quel élément au hasard en utilisant l'opérateur "[]". Il devient donc facile de regarder à travers tous les éléments ou un élément spécifique avec une opération vectorielle. Donc, si vous insérez un objet à la fin, au début ou au milieu, alors les vecteurs ont un point positif car vous pouvez accéder à l'adresse aléatoire et y apporter des modifications. Cependant, les vecteurs sont un peu lents par rapport aux objets de la liste. Les vecteurs sont considérés comme des objets synchronisés, efficaces en accès aléatoire, et ils contiennent correctement les données avec une liste synchronisée. Un vecteur est sélectionné chaque fois qu'il n'est pas nécessaire d'insérer ou de supprimer dans le

milieu (liste) ou de l'avant.

Le nombre d'éléments dans un tableau peut varier considérablement.

Exemple:

vecteur V;

V. insérer (V. begin (), 3);

assert (V. Size () == 1 && V. capacity ()> = 1 && V [0] == 3);

Listes

Les listes sont des "séquences doubles liées" supportant à la fois la traversée vers l'avant et vers l'arrière. Le temps pris dans l'REPLACEion et la suppression au début, à la fin et au milieu est constant. L'REPLACEion et l'épissage entre listes liées n'invalident aucune itération dans les éléments. Seule la suppression invalide l'itération. Ils ne sont pas synchronisés, ils ne sont donc pas accessibles au hasard. L'ordre des itérations peut changer selon l'utilisateur, mais il n'affecte pas les changements dans les éléments. Ils sont plus rapides que les vecteurs et sont idéaux pour l'REPLACEion et la suppression au début, au milieu et à la fin des listes d'éléments.

Exemple:

#include

// liste la définition du template de classe

….

int main ()

{

int array [4] = {2, 6, 4, 8};

std:: liste les valeurs;

std:: liste autresValeurs;

Résumé:

1. Une liste n'est pas synchronisée pendant qu'un vecteur est.

2. Les listes n'ont pas de taille par défaut alors qu'un vecteur a une taille par défaut de 10.

3. Les listes et les vecteurs sont des tableaux à croissance dynamique.

4. Une liste n'est pas thread-safe alors qu'un vecteur est thread-safe.

5. Les listes, car elles ne s'appliquent qu'à l'addition et à la suppression à l'avant et à l'arrière, sont plus rapides tandis que les vecteurs

prennent plus de temps processeur.

6. Un vecteur croît par sa taille deux fois tandis qu'une liste diminue jusqu'à la moitié, i.e., 50 pourcent.