Поделиться через


hash_set::insert (STL/CLR)

Добавляет элементы.

    cliext::pair<iterator, bool> insert(value_type val);
    iterator insert(iterator where, value_type val);
    template<typename InIter>
        void insert(InIter first, InIter last);
    void insert(System::Collections::Generic::IEnumerable<value_type>^ right);

Параметры

  • first
    Начало диапазона, который необходимо вставить.

  • last
    Элемент диапазона, который необходимо вставить.

  • правый
    Перечисление, который необходимо вставить.

  • val
    Значение ключа, который необходимо вставить.

  • , где
    , Где в контейнере вставки (подсказка только).

Заметки

Каждый из функции-члены содержит определенную последовательность оставшимися операндами.

Первый функцию-член стремится вставить элемент со значением val и возвращения пара значений X. Если X.second выполняется, X.first обозначает вновь добавленного элемента; в противном случае X.first обозначает элемент с соответствующей приказывающ то уже существует и не новый элемент не будет. Он используется для вставки одного элемента.

Второй функцию-член вставляет элемент со значением val, с помощью where как подсказка (повысить производительность) и возвращает итератор, обозначает вновь добавленного элемента. Он используется для вставки один элемент, который может быть рядом с элементом известно.

Третий функцию-член вставляет последовательность [first, last). Он используется для вставки ноль или более элементов скопированных из другой последовательности.

Четвертый функцию-член вставляет последовательность обозначенную right. Он используется для вставки последовательность описанную перечислителем.

Каждая вставка элемента требует времени, пропорциональное логарифму числа элементов в контролируемой последовательности. Вставка может произойти в амортизированном постоянно времени, заданную подсказку, которая обозначает элемент рядом с точкой вставки.

Пример

// cliext_hash_set_insert.cpp 
// compile with: /clr 
#include <cliext/hash_set> 
 
typedef cliext::hash_set<wchar_t> Myhash_set; 
typedef Myhash_set::pair_iter_bool Pairib; 
int main() 
    { 
    Myhash_set c1; 
    c1.insert(L'a'); 
    c1.insert(L'b'); 
    c1.insert(L'c'); 
 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a single value, unique and duplicate 
    Pairib pair1 = c1.insert(L'x'); 
    System::Console::WriteLine("insert(L'x') = [{0} {1}]", 
        *pair1.first, pair1.second); 
 
    pair1 = c1.insert(L'b'); 
    System::Console::WriteLine("insert(L'b') = [{0} {1}]", 
        *pair1.first, pair1.second); 
 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a single value with hint 
    System::Console::WriteLine("insert(begin(), L'y') = {0}", 
        *c1.insert(c1.begin(), L'y')); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an iterator range 
    Myhash_set c2; 
    Myhash_set::iterator it = c1.end(); 
    c2.insert(c1.begin(), --it); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an enumeration 
    Myhash_set c3; 
    c3.insert(   // NOTE: cast is not needed 
        (System::Collections::Generic::IEnumerable<wchar_t>^)%c1); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Требования

Заголовок:<cliext/hash_set>

Пространство имен: cliext

См. также

Ссылки

hash_set (STL/CLR)