Multiset en C++ dans la bibliothèque standard (STL)

C++Beginner
Pratiquer maintenant

Introduction

Dans ce laboratoire (lab), nous allons apprendre à implémenter le Multiset de la Bibliothèque Standard (Standard Library - STL) en C++. Un Multiset est similaire à un Set en ce sens qu'il stocke des valeurs uniques, mais il diffère du Set car il autorise les doublons et ne propose pas les fonctionnalités d'indexation associées au vecteur (vector).

Créer un fichier C++ dans le répertoire du projet

Nous allons créer un nouveau fichier nommé main.cpp dans le répertoire ~/project en utilisant la commande suivante :

touch ~/project/main.cpp

Ajouter les fichiers d'en-tête

Ajoutez les fichiers d'en-tête suivants pour le Multiset, le flux d'entrée/sortie (Input/Output Stream), la Bibliothèque Standard (Standard Library) et l'itérateur (Iterator) comme indiqué dans l'exemple ci-dessous :

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

Déclarer le Multiset

Déclarez un Multiset de valeurs entières, comme indiqué ci-dessous :

multiset<int> s;

Insérer des valeurs dans le Multiset

Insérez des éléments dans le Multiset en utilisant la méthode insert(), comme indiqué dans l'exemple de code ci-dessous. Cela insérera 5, 39, 5, 82, 39 et 54 dans le Multiset :

s.insert(5);
s.insert(39);
s.insert(5);
s.insert(82);
s.insert(39);
s.insert(54);

Afficher la taille du Multiset et parcourir le Multiset

Affichez le nombre d'éléments dans le Multiset en accédant à la propriété size() et parcourez tous les éléments du Multiset à l'aide d'un itérateur, comme indiqué ci-dessous :

cout << "The number of elements in the Multiset : " << s.size() << "\n";

multiset<int>::iterator it;
cout << "\nElements of the Multiset : ";
for (it = s.begin(); it!= s.end(); it++)
    cout << *it << " ";
cout << endl;

Supprimer les éléments inférieurs à X

Supprimez tous les éléments inférieurs à une valeur x donnée en utilisant la méthode erase(). La méthode erase() supprime tous les éléments depuis le début du Multiset jusqu'à la valeur donnée, à l'exception de l'élément ayant la valeur donnée, comme indiqué ci-dessous :

s.erase(s.begin(), s.find(x));

Compiler et exécuter le programme

Compilez le programme en utilisant le terminal. Utilisez la commande suivante pour compiler le programme :

g++ main.cpp -o main && ./main

Vérifier la sortie

Après avoir exécuté le programme avec succès, vous obtiendrez la sortie suivante :

The number of elements in the Multiset : 6

Elements of the Multiset : 5 5 39 39 54 82

Résumé

Ce laboratoire (lab) a fourni une vue d'ensemble des Multisets en C++ en utilisant la bibliothèque standard (STL). Nous avons vu comment déclarer un Multiset, insérer des valeurs dans celui-ci et exploré ses méthodes. Nous avons également appris comment supprimer les éléments inférieurs à une valeur spécifique et parcourir le Multiset à l'aide d'itérateurs. Enfin, nous avons exécuté et compilé le code en utilisant le terminal pour vérifier la sortie.