C++ : La classe list de la librairie standard (STL)

La classe list fait partie de la bibliothèque STL (Standard Template Library).

L'objet list est une liste doublement chaînée, chaque élément possède un pointeur sur l'élément précédent et sur l'élément suivant, la liste utilise donc plus de mémoire.

De plus, il est impossible d'accéder à un élément directement, il faut parcourir la liste avec un iterateur pour atteindre l'élément. Par contre, elle possède une méthode de tri qui n'existe pas dans la classe Vector, et qui permet de trier une liste très facilement.

Pour utiliser la classe list, il faut inclure le fichier list.

#include <list>

Voici les principales méthodes de cette classe.

Constructeurs de la classe list (STL)

list();
 
explicit list(size_t n);
Liste de n éléments.
 
list(const list <T>& x);
Constructeur par copie.

Accesseurs de la classe list (STL)

iterator begin();
const_iterator begin() const;
Itérateur sur le premier élément.
 
iterator end();
const_iterator end() const;
Itérateur au-delà du dernier élément.
 
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
Itérateur rétrograde sur le dernier élément.
 
reverse_iterator rend();
const_reverse_iterator rend() const;
Itérateur rétrograde au-delà du premier élément.
 
reference front();
const_reference front() const;
Référence au premier élément.
 
reference back();
const_reference back() const;
Référence au dernier élément.

Méthodes de la classe list (STL)

size_t size() const;
Nombre d'élément.
 
void push_back(const T& x);
Ajoute l'élément x en fin de liste.
 
void pop_back();
Supprime le dernier élément de la liste.
 
iterator insert(iterator position, const T& x);
Insert l'élément x devant l'élément désigné par position.
 
iterator insert(iterator position);
Insert un élément construit par défaut devant l'élément désigné par position.
 
void insert(iterator position, const_iterator first, const_iterator last);
Insert une séquence d'élément désigné par first et last devant l'élément désigné par position.
 
iterator erase(iterator position);
Efface l'élément à la position donnée.
 
iterator erase(iterator first, iterator last);
Efface les éléments entre first et last exclus.
 
void clear();
Efface tous les éléments de la list.

Méthodes spécifiques de la classe list (STL)

void remove(T valeur)
Supprime tous les éléments égaux à valeur.
 
void sort()
Tri la liste dans l'ordre croissant.
 
void unique()
Elimine les éléments en double dans une liste triée.
 
void merge(const list<T>)
Fusionne la liste list avec la liste concernée. A la fin de l'opération, list est vide.
Twitter Facebook Google Plus Email