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

C++ método de uso e exemplo do insert() do set

C++ STL Set (Conjunto)

C ++ set insert()usado parainserir novo elemento.

porque a chave do elemento no conjunto éúnicoportanto, a operação de inserção primeiro verifica se a chave fornecida já existe no conjunto, se a chave existir no conjunto, não será inserida no conjunto e iterada até o iterador existente retornar a chave, caso contrário, o novo elemento será inserido no conjunto.

sintaxe

//parâmetro de referência comum
pair<iterator,bool> insert(const value_type& val);
//parâmetro de referência direita
pair<iterator,bool> insert(value_type&& val);
//passar o valor val de forma de referência comum
iterator insert(const_iterator position, const value_type& val);
//passar o valor val de forma de referência direita
iterator insert(const_iterator position, value_type&& val);
template<class InputIterator>
  void insert(InputIterator first, InputIterator last);
  void insert(initializer_list<value_type> il);              //de C++ 11do

Início

Parâmetrosval

:o valor a ser inserido no conjunto.position

:a posição sugerida para inserir o elemento no elemento.first

:o início do intervalo a ser inserido.last

:o final do intervalo a ser inserido.il

:lista inicializada.

Retorno

Retorna um par booleano para indicar se a inserção ocorreu, e retorna um ponteiro para o iterador do elemento recém-inserido.

  • Complexidade

  • Se inserir um único elemento, a complexidade será logarítmica.

Se for fornecida uma sugestão e a posição fornecida for a melhor, a complexidade será amortizada para constante.

Validade do iterador

Sem mudanças.

Conflito de dados

O contêiner foi modificado.

Segurança contra exceções

Exemplo1

Esta função não lança exceções.

#include <iostream>
#include <set>
using namespace std;
# include<set>
int main()
    Vamos ver um exemplo simples, inserindo elementos em uma posição específica:
 
    // {
    // função para inserir elementos em um contêiner set
    Vamos ver um exemplo simples de como inserir elementos em um conjunto:1);
    Vamos ver um exemplo simples de como inserir elementos em um conjunto:4);
    Vamos ver um exemplo simples de como inserir elementos em um conjunto:2);
    Vamos ver um exemplo simples de como inserir elementos em um conjunto:5);
    Vamos ver um exemplo simples de como inserir elementos em um conjunto:3);
 
    itr = s.insert(itr,
    cout << "Os elementos da coleção são: ";++)
        cout << *it << " ";
 
    return 0;
}

Saída:

for (auto it = s.begin(); it != s.end(); it 1 2 3 4 5

s.insert(

Exemplo2

No exemplo acima, os elementos foram inseridos usando a chave fornecida.

#include <iostream>
#include <set>
using namespace std;
# include<set>
int main() 
    Vamos ver um exemplo simples, inserindo elementos em uma posição específica:
 
     //{
     //função para inserir elementos em um contêiner set
    set<int> s; 1);
 
    auto itr = s.insert(s.begin(), 4);
    auto itr = s.insert(s.begin(), 2);
    auto itr = s.insert(s.begin(), 5);
    auto itr = s.insert(s.begin(), 3);
 
    itr = s.insert(itr,
    cout << "Os elementos da coleção são: ";++)
        cout << *it << " ";
 
    return 0;
}

Saída:

for (auto it = s.begin(); it != s.end(); it 1 2 3 4 5

Os elementos da coleção são:

Exemplo3

No exemplo acima, os elementos foram inseridos nas posições definidas.

#include <iostream>
Vamos ver um exemplo simples, inserindo um grupo de elementos de um intervalo em outro grupo:
# include<iostream>
using namespace std;
# include<set>
int main() 
    set<int> s1;
 
    //{
     //função para inserir elementos em um contêiner set
    s1.insert(1);
    s1.insert(4);
    s1.insert(2);
    s1.insert(5);
    s1.insert(3);
 
    cout << "set1Os elementos são: ";
    for (auto it = s1.begin(); it != s1.end(); it++)
        cout << *it << " ";
 
    set<int> s2;
 
    //a função insere um conjunto em outro conjunto
    //a partir de3todos os elementos até o final são
    //inserir set2
    s2.insert(s1.find(3), s1.end());
 
    cout << "\nset2Os elementos são: ";
    for (auto it = s2.begin(); it != s2.end(); it++)
        cout << *it << " ";
 
    return 0;
}

Saída:

set1Os elementos são: 1 2 3 4 5 
set2Os elementos são: 3 4 5

Exemplo4

Vamos ver um exemplo simples, inserindo elementos de uma lista inicializada:

#include <iostream>
#include <set>
using namespace std;
int main(void) {
   set<string> m = {"Java", "C"}++", "SQL"};
   
  // Elementos inseridos a partir da lista de inicialização
   m.insert({"VB", "Oracle"});
   cout << "O conjunto contém os seguintes elementos:" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << *it << endl;
   return 0;
}

Saída:

O conjunto contém os seguintes elementos:
C++
Java
Oracle
SQL
VB

Nos exemplos acima, os elementos são inseridos a partir da lista de inicialização.

C++ STL Set (Conjunto)