Maison > Article > développement back-end > Exemples d'utilisation de la liste STL en C++
Cet article présente principalement l'explication détaillée et des exemples simples de la liste STL en C++
<.> 1. L'implémentation interne de List : est une liste doublement chaînée, qui peut effectuer efficacement l'insertion et la suppression, mais ne peut pas effectuer d'accès aléatoire
2. programme :
Photo du résultat d'exécution :
#include "stdafx.h" #include <iostream> #include <list> #include <iterator> #include <algorithm> using namespace std; const int num[5] = {1,3,2,4,5}; bool status(const int & value) { return value>6?true:false; } int _tmain(int argc, _TCHAR* argv[]) { list<int> list1; copy(num,num+5,back_insert_iterator<list<int>>(list1)); copy(list1.begin(),list1.end(),ostream_iterator<int>(cout," ")); cout<<endl; list1.sort(greater<int>());//5 4 3 2 1 copy(list1.begin(),list1.end(),ostream_iterator<int>(cout," ")); cout<<endl; list<int>::iterator it = list1.begin(); while (it != list1.end()) { (*it) += 2; it++; } //7 6 5 4 3 list<int>::reverse_iterator re_it = list1.rbegin(); cout<<"从后向前输出: "; while (re_it != list1.rend()) { cout<<*re_it<<" "; re_it++; } cout<<endl; list1.reverse();// 3 4 5 6 7 list1.push_back(8);//3 4 5 6 7 8 list1.pop_front();//4 5 6 7 8 list1.remove(6);//4 5 7 8 list1.remove_if(status);// 4 5 list1.resize(4);// 4 5 0 0 list1.resize(6,1);// 4 5 0 0 1 1 list1.unique();//4 5 0 1 copy(list1.begin(),list1.end(),ostream_iterator<int>(cout," ")); cout<<endl; list1.clear(); cout<<"当前list1含有元素个数:"<<list1.size()<<endl; list1.push_back(7);//list1:7 list<int> list2(3,2);//2 2 2 list2.merge(list1,greater<int>());//list2: 7 2 2 2 list2.insert(++list2.begin(),3);//list2: 7 3 2 2 2 list2.swap(list1);//list1:7 3 2 2 2 list2:empty list1.erase(++list1.begin(),list1.end());// 7 copy(list1.begin(),list1.end(),ostream_iterator<int>(cout," ")); cout<<endl; system("pause"); }
3. Méthode de liste
liste des membres |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Constructeur | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
destructeur | Destructeur | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
operator= | Opérateur d'affectation surchargé | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
attribuer | Attribuer une valeur | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
front | Renvoie une référence au premier élément | tr >||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
retour | Renvoyer la référence du dernier élément | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
begin | Renvoyer l'itérateur du premier élément | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | Renvoie l'itérateur à la position suivante du dernier élément | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rbegin | Renvoie le pointeur vers l'arrière du dernier élément de la liste chaînée reverse_iterator | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rend | Renvoie le pointeur arrière du premier élément de la liste chaînée Le reverse_iterator à la position suivante | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
push_back | Ajoute une donnée à la fin de la liste chaînée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
push_front | Ajoute une donnée à l'en-tête de la liste chaînée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supprimer un élément à la fin de la liste chaînée | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pop_front | Supprimer un élément en tête de liste chaînée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
effacer | Supprimer tous les éléments | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
effacer | Supprimer un élément ou une plage d'éléments (deux surcharges) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
supprimer | Supprimer les éléments avec les valeurs correspondantes dans la liste chaînée (tous les éléments correspondants sont supprimés) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove_if | Supprimer les éléments qui remplissent les conditions (parcourir la liste chaînée une fois), le paramètre est une fonction de rappel personnalisée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vide | Déterminer si la liste chaînée est vide | max_size | Renvoie la longueur maximale possible de la liste chaînée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taille | Renvoie le nombre d'éléments dans la liste chaînée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
redimensionner | Redéfinir la longueur de la liste chaînée (deux fonctions surchargées) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inverser | Inverser la liste chaînée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
trier | Trier la liste chaînée par ordre croissant par défaut | fusionner | Fusionner deux listes chaînées ordonnées et les rendre ordonnées | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
épissure | Combinez deux listes chaînées (trois fonctions surchargées) et effacez la deuxième liste chaînée après avoir combiné | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
insert | Insérer un ou plusieurs éléments à la position spécifiée (trois fonctions surchargées) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
swap | Échangez deux listes chaînées (deux surcharges) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unique | Supprimer les éléments adjacents en double |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!