Vous êtes sur la page 1sur 18

STL

La classe Vector
Introduction
 La bibliothèque de Template standard ou Standard
Template Library en anglais (STL) vise à résoudre
deux problèmes importants :

 se compose de trois éléments.


 des conteneurs,
 des algorithmes qui s'exécutent sur les conteneurs
 des littérateurs qui les relient.
 La classe vector est un conteneur homogène, définie dans l'en-
tête <vector>,

 implémente un conteneur de séquence qui fournit:


 un accès aléatoire rapide à n'importe quel élément
 une insertion et une suppression rapide à la queue.

 Un vecteur est une séquence d'éléments avec une extrémité ouverte,


comme le montre la figure ci-dessous.
 En interne, les vecteurs utilisent un tableau alloué dynamiquement
pour stocker leurs éléments.

 Ce tableau peut avoir besoin d'être réaffecté afin d'augmenter sa taille


lorsque de nouveaux éléments sont insérés, ce qui implique d'allouer
un nouveau tableau et de déplacer tous les éléments vers celui-ci.

 Un vecteur n'est pas le meilleur choix  si nous avons besoin d'un


conteneur de séquences avec beaucoup d'insertions et de
suppressions au début ou au milieu,
Exemple 1
vector <T> vec; // Construit un vecteur vide
vector <T> vec(4 , valeur); // Construit un vecteur de
3 éléments de la valeur donnée (valeur)
vector <T> vec[debut,fin); // Construit un vecteur
créé à partir d'une autre séquence
vector <T> vec(autreVector); // constructeur par
copie
vector <T> vec = autreVector; // opérateur
d'affectation
Exemple 2
vec.size(); // Renvoie la taille actuelle
vec.max_size(); // Renvoie la taille maximale
vec.resize(n, valeur); // Redimensionner le vecteur
vec.empty(); // Renvoie true si le vecteur est vide
vec.capacity(); // Renvoie la taille potentielle ou la
capacité de stockage
vec.reserve(n); // Réserve plus d'emplacements de
mémoire
Exemple 3
 vec.front(); // Accéder au premier élément
 vec.back(); // Accéder au dernier élément
 vec[i]; // Accéder à l'élément à l'indice i
 vec.at(i); // Accéder à l'élément à l'indice i
Exemple 4
 vec.push_back(valeur); // Insérer la valeur à la
queue
 vec.insert(pos, valeur) // Insérer la valeur avant
pos(itérateur)
 vec.insert(pos, n, valeur); // insérer n copies de
valeur avant pos
 vec.insert(pos, premier, dernier); // Insérer des
éléments [premier, dernier) avant pos
Exemple 5
 vec.pop_back(); // Supprimer le dernier élément
 vec.erase(pos); // Supprimer l'élément pointé par
pos
 vec.erase(premier, dernier); // Supprimer les
éléments de la plage [premier, dernier)
 vec.clear(); // Supprimer tous les éléments
Exemple complet 1/

1/6
2/6
3/6
4/6
5/6
6/6
Les itérateurs

Vous aimerez peut-être aussi