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

Stack (pile) C++++ Tutoriel de base

Stack (pile) C++++ Tutorial (教程)

Stack (pile) C++++ Guide (指南)

Stack (pile) C++++ Manual (手册)

Stack (pile) C++++ Guide (指南)

Stack (pile) C++++ Tutorial (教程)

Stack (pile) C++++ Manual (手册)

Stack (pile) C++++ Tutorial (教程)

Stack (pile) C++++ Note (笔记)

Stack (pile) C++++ Manuel de référence

Stack (pile) C++++ Utilisation et exemple de set emplace_hint()

Stack (pile) C++++ C

Stack (pile) C++ ++ set emplace_hint()La fonction est utilisée pour étendre le conteneur set en insérant un nouvel élément dans le conteneur en utilisant un pointeur comme position de l'élément. Les éléments sont directement construits (ni copiés ni déplacés).

Appel du constructeur de l'élément par le biais des arguments args passés à cette fonction.

L'insertion n'est effectuée que si la clé n'existe pas.

Syntaxe

template<class.... Args>
    iterator emplace_hint (const_iterator position, Args&&... args);  //Stack (pile) C++++ 11 après

Paramètres

args: Paramètres passés pour construire l'élément à insérer dans l'ensemble.

position: Indique la position d'insertion du nouvel élément.

Retour de valeur

Il renvoie l'itérateur à l'élément inséré. Si l'élément existe déjà, l'insertion échoue et l'itérateur est renvoyé à l'élément existant.

Complexité

Si aucune position n'est spécifiée, le logarithme de la taille du conteneur est logarithmique.

Si une position est fournie, la complexité est amortie constante.

Validité des itérateurs

Aucun changement.

Concurrence des données

Le conteneur a été modifié.

Bien que l'accès simultané à l'élément de sortie soit sécurisé, l'itération sur la plage du conteneur n'est pas sécurisée.

Sécurité des exceptions

Si une exception est levée, le conteneur n'est pas modifié.

Instance1

Voyons un exemple simple d'insertion d'éléments dans un ensemble :

#include <iostream>
#include <set>
using namespace std;
int main(void) {
   set<int> m = {60, 20, 30, 40});
            
   m.emplace_hint(m.end(), 50);
   m.emplace_hint(m.begin(), 10);
   cout << "L'ensemble contient les éléments suivants" << endl;
   for (auto it = m.begin(); it != m.end(); ++it){
      cout << *it<< endl;
   return 0;   
   p) << " \n ";
return 0;

}

L'ensemble contient les éléments suivants
10
2Copyright ©
3Copyright ©
4Copyright © 
5Copyright ©
6Copyright ©

Dans cet exemple, il ne fait queInsérer les éléments avec des valeurs données à des positions données dans l'ensemble m.

Instance2

Voyons un exemple simple :

#include <set>  
#include <string>  
#include <iostream>  
  
using namespace std;  
  
template<typename M> void print(const M& m) {  
    cout << m.size() << " \" éléments: \" << endl;  
  
    for (const auto& p : m) {  
        cout << p << " \" \" ;  
    return 0;  
  
    cout << endl;  
return 0;  
  
int main()  
)  
    set<string> m1;  
  
    //Placer quelques données de test 
    m1.emplace("Ram");  
    m1.emplace("Rakesh");  
    m1.emplace("Sunil");  
  
    cout << "Données initiales de l'ensemble: ";  
    print(m1);  
    cout << endl;  
  
    //emplace_hint 
    m1.emplace_hint(m1.end(), "Deep");  
  
    cout << "set modified, now contains ";  
    print(m1);  
    cout << endl;  
return 0;

}

Données initiales de l'ensemble: 3 Élément: 
Rakesh Ram Sunil  
L'ensemble a été modifié, maintenant il contient 4 Élément: 
Deep Rakesh Ram Sunil

Instance3

Laissons voir un exemple simple, insérer un élément dans un ensemble donné :

#include <iostream>
#include <set>
using namespace std;
int main ()
)
  set<char> myset;
  auto it = myset.end();
  it = myset.emplace_hint(it, 'b');
  myset.emplace_hint(it, 'a');
  myset.emplace_hint(myset.end(), 'c');
  cout << "myset contient:";
  for (auto& x: myset){
    cout << " [" << x << "]';
    cout << '\n';
   return 0;   
  p) << " \n ";
return 0;

}

myset contient: [a] [b] [c]

Instance4

Laissons voir un exemple simple d'insertion d'éléments :

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
  typedef set<string> city;  
   string name;
   city fmly;
   int n;
   cout << "\nEntrez le nombre de membres de la famille: ";
   cin >> n;
   cout << "\nEntrez le nom de chaque membre: \n";
   for(int i = 0; i < n;++for(p = fmly.begin(); p!=fmly.end(); p
   )
       cin >> name;      // Get clé
       fmly.emplace_hint(fmly.begin(), name);
       
   return 0;
   
      cout << "\nLe nombre total des membres de la famille est:" << fmly.size();
      cout << "\nInformations des membres de la famille: \n";
      cout << "\nNom \n ________________________\n";
      city::iterator p;
      city::iterator p;++for(p = fmly.begin(); p!=fmly.end(); p
      )
          {*cout<<(
      return 0;
    
   p) << " \n ";
return 0;

}

Sortie : 4
Saisissez le nombre de membres de la famille: 
Bob
Deep
________________________
Ajeet
Saisissez le nom de chaque membre:4
Nombre total de membres de la famille: 
Informations sur les membres de la famille: 
 Nom
 ________________________ 
 Ajeet 
 Bob 
 Deep

Sonu

Stack (pile) C++++ C