hash_set::insert
Not
Bu API artık kullanılmıyor.Alternatif unordered_set Class.
Bir öğe veya öğe aralığı ekler bir 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
);
Parametreler
Parametre |
Tanımlama |
_Val |
İçine eklenecek öğenin değerini hash_set sürece hash_set zaten o öğeye veya daha genel anahtar sipariş eşdeğer bir öğe içeriyor. |
_Where |
Ekleme noktasını doğru için aramayı başlatmak için yer. (Ekleme oluşabilir Logaritmik saat yerine amortized sabit zaman hemen ekleme noktasını izleyen, _Where.) |
_First |
Kopyalanacak ilk öğenin konumunu bir hash_set. |
_Last |
Konumu kopyalanacak yalnızca son öğenin ötesinde bir hash_set. |
Dönüş Değeri
İlk insert üye işlevinin döndürdüğü çifti, bool bileşenini verir true ekleme yapma varsa ve false , hash_set anahtar sıralaması içinde eşdeğer bir değeri vardı ve Yineleyici bileşeni yeni öğenin eklendiği yerde veya öğenin bulunduğu yerde adresini döndürür öğe zaten yer.
Yineleyici bileşen çiftinin erişmek için pr kullanmak bu üye işlevi tarafından döndürülen, pr.first ve başvurabilir, *(pr.first). Erişim için bool bileşen çiftinin pr kullanmak bu üye işlevi tarafından döndürülen, pr.secondve başvurabilir, *(pr.second).
İkinci insert üye işlevini verir, burada yeni öðe eklenir içine konumu işaret eden bir yineleyici hash_set.
Notlar
Üçüncü üye işlevi öğe değerlerinin dizisini ekler bir hash_set Yineleyici aralığında tarafından gönderilen her öğeye karşılık gelen [_First, _Last) belirtilen hash_set.
Örnek
// 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;
}
Gereksinimler
Başlık: <hash_set>
Ad alanı: stdext