Bibliothèque C ++ - <liste>

introduction

List est un conteneur de séquence couramment utilisé. Le conteneur est un objet qui contient des données du même type. Le conteneur de liste est implémenté en tant que liste à double chaînette, il fournit donc un accès séquentiel bidirectionnel à ses données.

La liste ne fournit pas d'accès aléatoire rapide, elle ne prend en charge que l'accès séquentiel dans les deux sens. La liste permet une opération d'insertion et de suppression n'importe où dans une séquence en temps constant.

Les éléments de la liste peuvent être dispersés dans différents blocs de mémoire. Container stocke les informations nécessaires pour permettre un accès séquentiel à ses données. Les listes peuvent être réduites ou étendues selon les besoins des deux côtés au moment de l'exécution. Le besoin de stockage est rempli automatiquement par l'allocateur interne.

Les listes de taille zéro sont également valides. Dans ce cas, list.begin () et list.end () pointe vers le même emplacement. Mais le comportement de l'appel de front () ou back () n'est pas défini.

Définition

Ci-dessous la définition de std :: list à partir du fichier d'en-tête <list>

template < class T, class Alloc = allocator<T> > class list;

Paramètres

  • T - Type de l'élément contenu.

    T peut être remplacé par tout autre type de données, y compris le type défini par l'utilisateur.

  • Alloc - Type d'objet allocateur.

    Par défaut, le modèle de classe d'allocateur est utilisé, qui définit le modèle d'allocation de mémoire le plus simple et est indépendant de la valeur.

Types de membres

Les types de membres suivants peuvent être utilisés comme paramètres ou comme type de retour par les fonctions membres.

Sr.No. Types de membres Définition
1 type de valeur T (premier paramètre du modèle)
2 allocator_type Alloc (deuxième paramètre du modèle)
3 référence type de valeur&
4 const_reference const value_type &
5 aiguille type de valeur*
6 const_pointer const value_type *
sept itérateur un itérateur à accès aléatoire à value_type
8 const_iterator un itérateur à accès aléatoire à const value_type
9 reverse_iterator std :: reverse_iterator <iterator>
dix const_reverse_iterator std :: reverse_iterator <const_iterator>
11 type de taille size_t
12 difference_type ptrdiff_t

Fonctions de <liste>

Vous trouverez ci-dessous la liste de toutes les méthodes de l'en-tête <list>.

Constructeurs

Sr.No. Méthode et description
1 list :: list constructeur par défaut

Construit une liste vide avec zéro élément.

2 list :: list constructeur de remplissage

Construit une nouvelle liste avec n éléments et affecte val à chaque élément de la liste.

3 list :: list constructeur de remplissage

Construit une nouvelle liste avec n éléments et attribue une valeur nulle à chaque élément de la liste.

4 list :: list constructeur de plage

Construit une liste avec autant d'éléments que dans la plage du premier au dernier .

5 list :: list copy constructeur

Construit une liste avec une copie de chaque élément présent dans la liste existante.

6 list :: list move constructeur

Construit une liste avec le contenu des autres en utilisant la sémantique de déplacement.

sept list :: list initialiseur constructeur de liste

Construit une liste avec le contenu des autres en utilisant la sémantique de déplacement.

Destructeur

Sr.No. Méthode et description
1 liste :: ~ liste

Détruit l'objet de liste en libérant sa mémoire.

Fonctions des membres

Sr.No. Méthode et description
1 list :: assigner la version de la plage

Assigne une nouvelle valeur à la liste en remplaçant les anciennes.

2 list :: assigner la version de remplissage

Attribue de nouvelles valeurs à la liste en remplaçant les anciennes.

3 list :: assigner la version de la liste d'initialisation

Attribue de nouvelles valeurs à la liste en remplaçant les anciennes.

4 list :: retour

Renvoie une référence au dernier élément de la liste.

5 list :: begin

Renvoie un itérateur à accès aléatoire qui pointe vers le premier élément de la liste.

6 list :: cbegin

Renvoie un itérateur à accès aléatoire constant qui pointe vers le début de la liste.

sept list :: cend

Renvoie un itérateur à accès aléatoire constant qui pointe vers la fin de la liste.

8 list :: clear

Détruit la liste en supprimant tous les éléments de la liste et définit la taille de la liste sur zéro.

9 list :: crbegin

Renvoie un itérateur inverse constant qui pointe vers le dernier élément de la liste.

dix list :: crend

Renvoie un itérateur inverse constant qui pointe vers l'élément théorique précédant le premier élément de la liste.

11 list :: emplace

Étend la liste en insérant un nouvel élément à une position donnée.

12 list :: emplace_back

Insère un nouvel élément à la fin de la liste et augmente la taille de la liste de un.

13 list :: emplace_front

Insère un nouvel élément au début de la liste et augmente la taille de la liste de un.

14 liste :: vide

Teste si la liste est vide ou non.

15 list :: end

Renvoie un itérateur à accès aléatoire qui pointe vers le dernier élément de la liste.

16 list :: effacer la version de position

Supprime un seul élément de la liste.

17 list :: effacer la version de la plage

Supprime la plage d'élément de la liste.

18 list :: front

Renvoie une référence au premier élément de la liste.

19 list :: get_allocator

Renvoie un allocateur associé à la liste

20 list :: insérer une version à un élément

Étend l'itérateur en insérant un nouvel élément à la position dans la liste.

21 list :: insérer la version de remplissage

Étend la liste en insérant de nouveaux éléments dans le conteneur.

22 list :: insérer la version de la plage

Étend la liste en insérant de nouveaux éléments dans le conteneur.

23 list :: insérer la version de déplacement

Étend la liste en insérant un nouvel élément dans le conteneur.

24 list :: insérer la version de la liste d'initialisation

Étend la liste en insérant de nouveaux éléments dans le conteneur

25 list :: taille_max

Renvoie le nombre maximum d'éléments pouvant être contenus par liste.

26 list :: merge

Fusionne deux listes triées en une seule.

27 fonction de comparaison list :: merge

Fusionne deux listes triées en une seule.

28 list :: merge move version

Fusionne deux listes triées en une seule à l'aide de la sémantique de déplacement.

29 list :: merge comparer la fonction déplacer la version

Fusionne deux listes triées en une seule à l'aide de la sémantique de déplacement.

30 list :: operator = copie de la version

Attribue un nouveau contenu à la liste en remplaçant les anciens.

31 list :: operator = déplacer la version

Attribuez de nouveaux contenus à la liste en remplaçant les anciens.

32 list :: operator = version de la liste d'initialisation

Attribuez de nouveaux contenus à la liste en remplaçant les anciens.

33 list :: pop_back

Supprime le dernier élément de la liste.

34 list :: pop_front

Supprime le premier élément de la liste.

35 list :: push_back

Insère un nouvel élément à la fin de la liste.

36 list :: version de déplacement push_back

Insère un nouvel élément à la fin de la liste.

37 list :: push_front

Insère un nouvel élément au début de la liste.

38 list :: version de déplacement push_front

Insère un nouvel élément au début de la liste.

39 list :: rbegin

Renvoie un itérateur inversé qui pointe vers le dernier élément de la liste.

40 list :: supprimer

supprime les éléments de la liste qui correspondent à la valeur.

41 list :: remove_if

supprime les éléments de la liste qui remplissent la condition.

42 list :: rend

Renvoie un itérateur inversé qui pointe vers l'extrémité inverse de la liste.

43 list :: redimensionner

Modifie la taille de la liste.

44 list :: redimensionner la version de la valeur

Modifie la taille de la liste.

45 list :: reverse

Inverse l'ordre des éléments présents dans la liste.

46 liste :: taille

Renvoie le nombre d'éléments présents dans la liste.

47 list :: sort

Trie les éléments de la liste.

48 fonction de comparaison list :: sort

Trie les éléments de la liste.

49 list :: épissure

Transfère tous les éléments de la liste vers * this.

50 list :: splice élément unique

Transfère un élément pointé par l'itérateur i de la liste x dans * this .

51 list :: version de déplacement d' épissure

Transfère tous les éléments de la liste x vers * this en utilisant la sémantique de déplacement.

52 list :: version de la plage d' épissure

Transfère les éléments dans la plage du premier au dernier de x à * this .

53 list :: splice version de déplacement d'élément unique

Transfère l'élément pointé par l'itérateur i de la liste x dans * this en utilisant la sémantique de déplacement.

54 list :: plage d' épissure et version de déplacement

Transfère les éléments dans la plage du premier au dernier de x à * this en utilisant la sémantique de déplacement.

55 list :: swap

Echange le contenu de la liste avec le contenu d'une autre liste x .

56 list :: unique

Supprime tous les éléments en double consécutifs de la liste.

57 list :: unique

Supprime tous les éléments en double consécutifs de la liste.

Fonctions surchargées non membres

Sr.No. Méthode et description
1 opérateur ==

Teste si deux listes sont égales ou non.

2 opérateur! =

Teste si deux listes sont égales ou non.

3 opérateur <

Teste si la première liste est inférieure à autre ou non.

4 opérateur <=

Teste si la première liste est inférieure ou égale à autre ou non.

5 opérateur>

Teste si la première liste est supérieure ou non à autre.

6 opérateur> =

Teste si la première liste est supérieure ou égale à autre ou non.

sept échanger

Échange le contenu de deux listes.