Compartir a través de


hash_set::insert

[!NOTA]

Esta API está obsoleta.La alternativa es unordered_set Class.

Inserta un elemento o un intervalo de elementos hash_set.

pair<iterator, bool> insert(
   const value_type& _Val
);
iterator insert(
   iterator _Where,
   const value_type& _Val
);
template<class InputIterator>
   void insert(
      InputIterator _First,
      InputIterator _Last
);

Parámetros

Parámetro

Descripción

_Val

El valor de un elemento en hash_set a menos que hash_set ya contiene ese elemento o, más general, un elemento cuya clave equivalente se ordena.

_Where

El lugar para iniciar buscar el punto correcto de la inserción.(Inserción puede aparecer en tiempo constante amortizado, en lugar de tiempo logarítmico, si el punto de inserción inmediatamente sigue _Where.)

_First

La posición del primer elemento que se va a copiar hash_set.

_Last

La posición simplemente más allá del último elemento que se va a copiar hash_set.

Valor devuelto

La primera función miembro insert devuelve un par cuyo componente bool devuelve true si fuera una inserción crea y false si hash_set ya contenía un elemento cuya clave tenía un valor equivalente en orden, y cuyo componente de iterador devuelve la dirección donde un nuevo elemento se ha insertado o donde el elemento se ha adaptado ya.

Para tener acceso al componente de iterador de un par pr devuelto por esta función miembro, utilice pr.firsty desreferenciarlo, utilice *(pr.first).Para tener acceso al componente bool de un par pr devuelto por esta función miembro, utilice pr.second, y desreferenciarlo, utilice *(pr.second).

La segunda función miembro insert devuelve un iterador que señale a la posición donde el nuevo elemento se ha insertado en hash_set.

Comentarios

La tercera función miembro inserta la secuencia de valores hash_set correspondiente a cada elemento dirigido por un iterador en el intervalo [_First, _Last) hash_setespecificado.

Ejemplo

// hash_set_insert.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>

int main( )
{
   using namespace std;
   using namespace stdext;
   hash_set <int>::iterator hs1_pIter, hs2_pIter;

   hash_set <int, hash_compare <int, less<int> > > hs1, hs2;
   hs1.insert( 10 );
   hs1.insert( 20 );
   hs1.insert( 30 );
   hs1.insert( 40 );

   cout << "The original hs1 =";
   for ( hs1_pIter = hs1.begin( ); hs1_pIter != hs1.end( );
         hs1_pIter++ )
      cout << " " << *hs1_pIter;
   cout << "." << endl;

   pair< hash_set<int>::iterator, bool > pr;
   pr = hs1.insert( 10 );

   if(pr.second == true)
   {
      cout << "The element 10 was inserted in hs1 successfully."
           << endl;
   }
   else
   {
      cout << "The element 10 already exists in hs1 and"
           << " *( pr.first ) = " << *( pr.first ) << "."
           << endl;
   }

   hs1.insert( --hs1.end( ), 50 );

   cout << "After the insertions, hs1 =";
   for ( hs1_pIter = hs1.begin( ); hs1_pIter != hs1.end( );
         hs1_pIter++ )
      cout << " " << *hs1_pIter;
   cout << "." << endl;

   hs2.insert( 100 );
   hs2.insert( ++hs1.begin( ), --hs1.end( ) );

   cout << "hs2 =";
   for ( hs2_pIter = hs2.begin( ); hs2_pIter != hs2.end( );
         hs2_pIter++ )
      cout << " " << *hs2_pIter;
   cout << "." << endl;
}
  
  
  
  

Requisitos

Encabezado: <hash_set>

Stdext deEspacio de nombres:

Vea también

Referencia

hash_set Class

Biblioteca de plantillas estándar