STL en C ++

STL en C ++

La bibliothèque de modèles standard ou STL fournit une énorme quantité d'installation au codeur ou au programmeur. Si nous créons une bibliothèque, cela signifie que nous voulons stocker des données à l'intérieur de la bibliothèque.

Pour stocker les données à l'intérieur de la bibliothèque, nous utilisons pour suivre certaines méthodes. STL nous aide à créer ces bibliothèques en suivant certaines méthodes.

Composants STL

STL se compose de trois composants. Ils sont:

  1. Récipient
  2. Itération
  3. Algorithme

Nous discutons chacun d'eux de manière efficace.

UN. Récipient

  • D'énormes quantités d'objet sont conservées dans le conteneur d'une manière correcte.
  • Divers types de données sont placés à l'intérieur du conteneur pour stocker les données de manière spécifique. Par exemple: tableau, carte, liste liée, etc.
  • Ces conteneurs sont de type générique. Le terme «générique» est lié au concept de modèle en C ++ qui peut contenir les éléments de tous les types de données.

Exemple: omis le côlon puisque il s'agit d'un sous-capteur.

Différents types de données sont stockés dans un tableau dynamiquement dans une classe vectorielle. Le vecteur est une classe de catégories de conteneurs.

B. Itérateurs

  • Les objets sont opérés de manière systématique à travers les itérateurs.
  • Il est utilisé pour indiquer les conteneurs.
  • Il relie en fait les conteneurs et les algorithmes d'une manière appropriée.

Exemple:

Les arguments de l'algorithme SORT () sont l'itérateur de démarrage et de fin. Ces itérateurs nous aident à trier les éléments présents dans le conteneur sous forme de valeurs ou de données.

C. Algorithme

  • Algorithme agit sur les conteneurs. Grâce à l'algorithme, nous effectuons les différents types d'opérations comme le tri, la recherche, l'initialisation des données, etc.
  • Il détient les différents types des fonctions par défaut qui aident à résoudre de nombreux problèmes liés au programme.

Exemple:

Nous pouvons inverser les données à l'aide d'une fonction par défaut nommée fonction reverse (), trier les données avec la fonction tri (), etc.

Classes courantes qui existent dans les conteneurs

  1. Vector agit sur les tableaux
  2. La file d'attente agit sur les files d'attente
  3. Les piles agissent sur les piles
  4. Priority_queue agit sur des tas
  5. La liste agit sur la liste liée
  6. Fixer des agres sur les arbres
  7. Carte agit sur les tableaux

Classification des conteneurs

Il y a 4 conteneurs comme des conteneurs associatifs non ordonnés, des adaptateurs de conteneurs, des conteneurs de séquence et des conteneurs associatifs.

STL est un vaste concept car il a de nombreuses classes. Nous discuterons de quelques classes importantes dans STL.

Déployer:

  1. Array est une collection linéaire des types d'éléments similaires.
  2. Nous utilisons le tableau d'en-tête - #include.
  3. Ici, le tableau est de type statique.

Exemple de programmation 1:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

déployer< int, 5 >data_array = 5, 10, 15, 20, 25; // Création d'un objet Array;
data_array.remplir (10); // La fonction membre est utilisée;
pour (int i = 0; i<=7;i++)
couter<< data_array[ i ] ;
retour 0;

Sortir:

Exemple de programmation 2:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

déployer< int, 5 >data_array = 5,10,15,20,25; // Création d'un objet Array;
couter<< data_array.at(2) ;
couter<< data_array[3] ;
couter<< data_array.front() ; // member function is used ;
couter<< data_array.back() ; // member function is used ;
retour 0;

Sortir:

Explication:

Les deux programmes précédents sont l'exemple de la classe de tableau.

Ici, nous déclarons un tableau. Nous stockons certaines valeurs comme 5, 10, 15, 20 et 25 à l'intérieur d'un tableau.

Déployer< int, 5 > data_array = 5, 10, 15, 20, 25;

Les (), le front (), le dos () et le rempli () sont des fonctions de membres importantes qui sont utilisées dans le modèle de tableau.

Classes vectorielles en STL

  1. Le conteneur à usage le plus général est la classe vectorielle.
  2. Il prend en charge le tableau dynamique.

Déclaration de types de vecteurs

1. vecteur v1;

Vecteurs de longueur zéro.

2. Vector CV (5);

Crée le vecteur char à 5 éléments.

3. Vector CV (4, «A»);

Initialise 4 éléments vecteur char avec «a».

Exemple de programmation 3:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

vecteur v1;
vecteur v2 (4);
vecteur V3 (5,10);
vecteur v4 (3, "bonjour");
couter<couter<< v4[1] << endl ;
couter<retour 0;

Sortir:

Explication:

Dans le programme, nous déclarons les vecteurs V1, V2, V3 et V4. Nous attribuons quelques valeurs au moment de la déclaration à l'intérieur des vecteurs v2, v3, v4. Maintenant, nous imprimons les valeurs de 0, 1er et 2ème index de V4. Tous montrent le même résultat.

Exemple de programmation 4:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

vecteur< int >v1;
couter<< " Current Capacity is " <pour (int i = 0; i<= 9; i++)
v1.push_back (10 * (i + 1));
couter<< " Current capacity is " < v1.pop_back ();
couter<<" after pop \n" ;
couter<< " Current Capacity is "<< v1.capacity() <v1.pop_back ();
couter<< "Current Capacity is "<v1.pop_back ();
couter<< " Current Capacity is " << v1.capacity() <couter<< " total number of elements are " <

Sortir:

Explication:

Ici, dans le programme, nous utilisons certaines fonctions membres. L'un d'eux est le push_back qui est utilisé pour ajouter de la valeur au vecteur à la fin.

Une autre fonction membre est pop_back ().Le dernier élément est supprimé.

Une autre fonction utilisée dans le programme est la capacité (). Il renvoie la capacité du vecteur.

Le dernier mais non le moindre est la taille () qui détermine la taille des données.

Conclusion

Dans le concept de STL, nous sommes arrivés à cette conclusion que STL est un vaste concept en C++. En utilisant le STL, nous pouvons utiliser le code standard pour fabriquer la structure de données différentes comme la pile, la file d'attente et la liste des liens. Nous faisons également des opérations sur les données comme la recherche, le tri, etc.