English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Tutoriel de base

C++ Contrôle de flux

C++ Fonction

C++ Tableau & Chaîne

C++ Structure de données

C++ Classe & Objet

C++ Pointeur

C++ Héritage

C++ Tutoriel STL

C++ Manuel de référence

C++ Méthode et exemple d'utilisation de insert() set

C++ Set (ensemble) STL

C ++ set insert()Utilisé pour insérer des éléments dans l'ensembleInsérer un nouvel élément.

Parce que l'élément clé dans l'ensemble estUniqueAinsi, l'opération d'insertion vérifie d'abord si la clé donnée existe déjà dans l'ensemble. Si la clé existe déjà dans l'ensemble, elle ne sera pas insérée et l'itération se poursuivra à partir de l'itérateur existant pour renvoyer la clé, sinon, l'élément nouveau sera inséré dans l'ensemble.

Syntaxe

//Passer les arguments par référence左值
pair<iterator,bool> insert(const value_type& val);
//Passer les arguments par référence右值
pair<iterator,bool> insert(value_type&& val);
//Passer la valeur val par référence左值
iterator insert(const_iterator position, const value_type& val);
//Passer la valeur val par référence右值
iterator insert(const_iterator position, value_type&& val);
template <class InputIterator>
  void insert(InputIterator first, InputIterator last);
  void insert(initializer_list<value_type> il);              //de C++ 11de

début

paramètresval

:valeur à insérer dans l'ensemble.position

:position d'insertion de l'élément dans l'élément.first

:début de la gamme à insérer.last

:fin de la gamme à insérer.il

:liste d'initialisation.

Retourne la valeur

Retourne un booléen pour indiquer si l'insertion s'est produite, et retourne un pointeur sur l'itérateur inséré.

  • Complexité

  • Si un seul élément est inséré, la complexité est logarithmique.

Si un indice est donné et que la position donnée est la meilleure position, la complexité est diluée en constante.

Validité de l'itérateur

Pas de changement.

Concurrentie des données

Le conteneur a été modifié.

Sécurité contre les exceptions

Instance1

Cette fonction ne provoque pas d'exception.

#include <iostream>
#include <set>
using namespace std;
# include<set>
int main()
    Laissez-nous voir un exemple simple, insérer des éléments à une position spécifique :
 
    // {
    // Insérer une fonction d'élément dans le conteneur set
    Voyons un exemple simple d'insertion d'éléments dans un ensemble :1);
    Voyons un exemple simple d'insertion d'éléments dans un ensemble :4);
    Voyons un exemple simple d'insertion d'éléments dans un ensemble :2);
    Voyons un exemple simple d'insertion d'éléments dans un ensemble :5);
    Voyons un exemple simple d'insertion d'éléments dans un ensemble :3);
 
    itr = s.insert(itr,
    cout << "Les éléments de l'ensemble sont : ";++)
        cout << *it << " ";
 
    return 0;
}

Sortie :

for (auto it = s.begin(); it != s.end(); it 1 2 3 4 5

s.insert(

Instance2

Dans l'exemple précédent, il insère simplement des éléments à l'aide de la clé donnée.

#include <iostream>
#include <set>
using namespace std;
# include<set>
int main() 
    Laissez-nous voir un exemple simple, insérer des éléments à une position spécifique :
 
     //{
     //Insérer une fonction d'élément dans le conteneur set
    set<int> s; 1);
 
    auto itr = s.insert(s.begin(), 4);
    auto itr = s.insert(s.begin(), 2);
    auto itr = s.insert(s.begin(), 5);
    auto itr = s.insert(s.begin(), 3);
 
    itr = s.insert(itr,
    cout << "Les éléments de l'ensemble sont : ";++)
        cout << *it << " ";
 
    return 0;
}

Sortie :

for (auto it = s.begin(); it != s.end(); it 1 2 3 4 5

Les éléments de l'ensemble sont :

Instance3

Dans l'exemple précédent, les éléments ont été insérés à la position définie.

#include <iostream>
Laissez-nous voir un exemple simple, insérer un ensemble d'éléments dans un autre ensemble dans une gamme donnée :
# include<iostream>
using namespace std;
# include<set>
int main() 
    set<int> s1;
 
    //{
     //Insérer une fonction d'élément dans le conteneur set
    s1.insert(1);
    s1.insert(4);
    s1.insert(2);
    s1.insert(5);
    s1.insert(3);
 
    cout << "set1Les éléments sont : ";
    for (auto it = s1.begin(); it != s1.end(); it++)
        cout << *it << " ";
 
    set<int> s2;
 
    //La fonction insère un ensemble dans un autre ensemble
    //de3tous les éléments jusqu'à la fin sont
    //insérer set2
    s2.insert(s1.find(3), s1.end());
 
    cout << "\nset2Les éléments sont : ";
    for (auto it = s2.begin(); it != s2.end(); it++)
        cout << *it << " ";
 
    return 0;
}

Sortie :

set1Les éléments sont : 1 2 3 4 5 
set2Les éléments sont : 3 4 5

Instance4

Laissez-nous voir un exemple simple, insérer des éléments à partir de la liste d'initialisation :

#include <iostream>
#include <set>
using namespace std;
int main(void) {
   set<string> m = {"Java", "C"}++", "SQL"};
   
  // Insérer des éléments de la liste d'initialisation
   m.insert({"VB", "Oracle"});
   cout << "L'ensemble contient les éléments suivants:" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << *it << endl;
   return 0;
}

Sortie :

L'ensemble contient les éléments suivants:
C++
Java
Oracle
SQL
VB

Dans l'exemple ci-dessus, les éléments sont insérés à partir de la liste d'initialisation.

C++ Set (ensemble) STL