Menu
Coddy logo textTech

Créer un Set et ajouter des éléments

Fait partie de la section Logique et Flux du Journey C++ de Coddy — leçon 36 sur 56.

Maintenant que vous savez ce qu'est un ensemble (set), apprenons comment en créer un et y ajouter des éléments. Pour ajouter des éléments à un std::set, vous utilisez la méthode .insert().

Voici comment créer un ensemble vide et ajouter des éléments :

std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);

La caractéristique la plus importante des ensembles (sets) est qu'ils rejettent automatiquement les doublons. Si vous essayez d'insérer la même valeur deux fois, l'ensemble reste inchangé :

numbers.insert(5);  // Cela n'ajoutera pas un autre 5
numbers.insert(5);  // Ceci non plus

Après toutes ces insertions, votre ensemble ne contiendra que trois éléments uniques : 2, 5 et 8 (triés automatiquement). Les tentatives de doublons pour insérer 5 sont simplement ignorées, ce qui est précisément ce qui rend les ensembles si utiles pour maintenir des collections de données uniques.

challenge icon

Défi

Facile

Créez un programme qui démontre la caractéristique d'élément unique de std::set en ajoutant plusieurs entiers à un ensemble, y compris des valeurs en double, puis en affichant la taille finale pour prouver que les doublons sont automatiquement ignorés.

Les entrées suivantes seront fournies :

  • Un entier n représentant le nombre d'entiers à insérer
  • Ensuite, n entiers à insérer dans l'ensemble

Votre programme doit :

  1. Créer un std::set<int> vide
  2. Lire le nombre d'entiers à insérer
  3. Utiliser une boucle pour lire chaque entier et l'insérer dans l'ensemble en utilisant la méthode .insert()
  4. Après toutes les insertions, afficher la taille finale de l'ensemble en utilisant la méthode .size()
  5. Afficher un message indiquant combien de tentatives de doublons ont été ignorées

Utilisez le format de sortie exact suivant :

Set size: [final_size]
Duplicates ignored: [number_of_duplicates]

Le nombre de doublons ignorés doit être calculé comme la différence entre le nombre total de tentatives d'insertion et la taille finale de l'ensemble. Cela démontre que les ensembles maintiennent automatiquement l'unicité en rejetant les valeurs en double, ce qui est leur caractéristique clé pour stocker des collections d'éléments uniques.

Aide-mémoire

Pour créer un ensemble et ajouter des éléments, utilisez .insert() :

std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);

Les ensembles rejettent automatiquement les doublons - insérer la même valeur plusieurs fois ne conserve qu'une seule copie :

numbers.insert(5);  // Cela n'ajoutera pas un autre 5
numbers.insert(5);  // Celui-ci non plus

Utilisez .size() pour obtenir le nombre d'éléments uniques dans l'ensemble.

Essayez vous-même

#include <iostream>
#include <set>
using namespace std;

int main() {
    // Lire le nombre d'entiers à insérer
    int n;
    cin >> n;
    
    // Créer un ensemble vide
    set<int> mySet;
    
    // À FAIRE : Écrivez votre code ici
    // Utiliser une boucle pour lire n entiers et les insérer dans l'ensemble
    // Calculer combien de doublons ont été ignorés
    
    // Afficher les résultats
    cout << "Set size: " << mySet.size() << endl;
    cout << "Duplicates ignored: " << /* calculer les doublons */ << endl;
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et Flux