C ++ Set Library - Fonction set ()

La description

Le constructeur C ++ std::set::set() (Range Constructor) construit un conteneur d'ensemble avec autant d'éléments que mentionné dans la plage [premier, dernier), chaque élément d'ensemble étant construit à partir de son élément correspondant dans cette plage.

Déclaration

Voici la déclaration du constructeur de plage std :: set :: set () à partir de l'en-tête std :: set.

C ++ 98

template <class InputIterator>
 set (InputIterator first, InputIterator last,
      const key_compare& comp = key_compare(),
      const allocator_type& alloc = allocator_type());

C ++ 11

template <class InputIterator>
   set (InputIterator first, InputIterator last,
        const key_compare& comp = key_compare(),
        const allocator_type& = allocator_type());

C ++ 14

template <class InputIterator>
  set (InputIterator first, InputIterator last,
       const key_compare& comp = key_compare(),
       const allocator_type& = allocator_type());
template <class InputIterator>
  set (InputIterator first, InputIterator last,
       const allocator_type& = allocator_type());

Paramètres

  • alloc - Entrer l'itérateur en position initiale.

  • comp - Objet de fonction de comparaison à utiliser pour toutes les comparaisons de clés

  • first, last- La plage à copier à partir de laquelle se trouvent les itérateurs d'entrée. Cette plage comprend les éléments du premier au dernier, y compris l'élément pointé par le premier mais excluant celui pointé par le dernier.

Valeur de retour

Le constructeur ne renvoie jamais aucune valeur.

Des exceptions

Cette fonction membre n'a aucun effet au cas où une exception serait levée. Cependant, si la plage spécifiée par [first, last) n'est pas valide, cela peut entraîner un comportement non défini.

Complexité temporelle

N log (N), où N = std :: distance (premier, dernier);

sinon linéaire (O (N)) dans la distance entre les itérateurs, si les éléments sont déjà triés.

Exemple

L'exemple suivant montre l'utilisation du constructeur de plage std :: set :: set ().

#include <iostream>
#include <set>

using namespace std;

int main(void) {
   char vowels[] = {'a','e','i','o','u'};
  
   // Range Constructor
   std::set<char> t_set (vowels, vowels+5);  

   std::cout <> "Size of set container t_set is : " << t_set.size();
   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Size of set container t_set is : 5