El set::insert es una función incorporada en C++ STL que inserta elementos en el contenedor del conjunto o inserta los elementos desde una posición a otra posición en el conjunto a un conjunto diferente.
- Sintaxis:
iterator set_name.insert(element)
Parámetros: la función acepta un elemento de parámetro obligatorio que debe insertarse en el contenedor del conjunto.
Valor de retorno: la función devuelve un iterador que apunta al elemento insertado en el contenedor.
Complejidad de tiempo: log(N) Donde ‘N’ es el número de elementos en el conjunto El
siguiente programa ilustra la función anterior:
CPP
// CPP program to demonstrate the // set::insert(element) function #include <bits/stdc++.h> using namespace std; int main() { set<int> s; // Function to insert elements // in the set container s.insert(1); s.insert(4); s.insert(2); s.insert(5); s.insert(3); cout << "The elements in set are: "; for (auto it = s.begin(); it != s.end(); it++) cout << *it << " "; return 0; }
The elements in set are: 1 2 3 4 5
- Sintaxis:
iterator set_name.insert(iterator position, element)
Parámetros: La función acepta dos parámetros que se describen a continuación:
- elemento: Especifica el elemento a insertar en el contenedor del conjunto.
- posición: No especifica la posición donde se va a realizar la inserción, solo apunta a una posición desde donde se va a iniciar la operación de búsqueda de inserción para agilizar el proceso. La inserción se realiza según el orden que sigue el contenedor configurado.
- Sintaxis:
void set_name.insert(iterator position1, iterator position2)
Parámetros: La función acepta dos parámetros position1 y position2 que especifican el rango de elementos. Todos los elementos del rango [posición 1, último] se insertan en otro contenedor de conjunto.
Valor de retorno: Sin tipo de retorno => nulo.
El siguiente programa ilustra la función anterior:
CPP
// CPP program to demonstrate the // set::insert(iterator1, iterator2) function #include <bits/stdc++.h> using namespace std; int main() { set<int> s1; // Function to insert elements // in the set container s1.insert(1); s1.insert(4); s1.insert(2); s1.insert(5); s1.insert(3); cout << "The elements in set1 are: "; for (auto it = s1.begin(); it != s1.end(); it++) cout << *it << " "; set<int> s2; // Function to insert one set to another // all elements from where 3 is to end is // inserted to set2 s2.insert(s1.find(3), s1.end()); cout << "\nThe elements in set2 are: "; for (auto it = s2.begin(); it != s2.end(); it++) cout << *it << " "; return 0; }
The elements in set1 are: 1 2 3 4 5 The elements in set2 are: 3 4 5