Este artículo muestra cómo convertir un vector en un conjunto en C++.
Ejemplo:
Entrada: vector = {1, 2, 3, 1, 1}
Salida: conjunto = {1, 2, 3}Entrada: vector = {1, 2, 3, 3, 5}
Salida: conjunto = {1, 2, 3, 5}
A continuación se muestran las diversas formas de realizar la conversión requerida:
- Método 1: solución ingenua
- Obtener el vector a convertir.
- Cree un conjunto vacío para almacenar el resultado.
- Recorra el vector uno por uno e inserte cada elemento en el conjunto.
- Imprime el conjunto resultante.
C++
// C++ program to convert // a Vector to Set #include <iostream> #include <set> #include <vector> using namespace std; // Function to convert Vector to Set set<int> convertToSet(vector<int> v) { // Declaring the set set<int> s; // Traverse the Vector for (int x : v) { // Insert each element // into the Set s.insert(x); } // Return the resultant Set return s; } // Functiont for printing the set void printSet(set<int> s) { cout << "Set: "; for (int x : s) { cout << x << " "; } cout << endl; } // Functiont for printing the vector void printVector(vector<int> vec) { cout << "Vector: "; for (int x : vec) { cout << x << " "; } cout << endl; } // Driver Code int main() { // Vector vector<int> vec = { 1, 2, 3, 1, 1 }; printVector(vec); // Convert Vector to Set set<int> s = convertToSet(vec); printSet(s); return 0; }
Producción
Vector: 1 2 3 1 1 Set: 1 2 3
- Método 2: usar el convertidor de rango
C++
// C++ program to convert // a Vector to Set #include <iostream> #include <set> #include <vector> using namespace std; // Function to convert Vector to Set set<int> convertToSet(vector<int> v) { // Declaring the set // using range of vector set<int> s(v.begin(), v.end()); // Return the resultant Set return s; } // Functiont for printing the set void printSet(set<int> s) { cout << "Set: "; for (int x : s) { cout << x << " "; } cout << endl; } // Functiont for printing the vector void printVector(vector<int> vec) { cout << "Vector: "; for (int x : vec) { cout << x << " "; } cout << endl; } // Driver Code int main() { // Vector vector<int> vec = { 1, 2, 3, 1, 1 }; printVector(vec); // Convert Vector to Set set<int> s = convertToSet(vec); printSet(s); return 0; }
Producción
Vector: 1 2 3 1 1 Set: 1 2 3
- Método 3: Usar Copiar():
- Obtener el vector.
- Defina un conjunto que copie todos los elementos del vector usando el algoritmo estándar std::copy() método definido en el encabezado <algorithm> .
- Imprime el conjunto.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to convert // a Vector to Set #include <iostream> #include <set> #include <vector> using namespace std; // Function to convert Vector to Set set<int> convertToSet(vector<int> v) { // Declaring the set set<int> s; // Inserting the elements // of the vector in the set // using copy() method copy( // The pointer to the beginning // of the source container v.begin(), // The pointer to the end // of the source container v.end(), // Method of copying inserter(s, s.end())); // Return the resultant Set return s; } // Functiont for printing the set void printSet(set<int> s) { cout << "Set: "; for (int x : s) { cout << x << " "; } cout << endl; } // Functiont for printing the vector void printVector(vector<int> vec) { cout << "Vector: "; for (int x : vec) { cout << x << " "; } cout << endl; } // Driver Code int main() { // Vector vector<int> vec = { 1, 2, 3, 1, 1 }; printVector(vec); // Convert Vector to Set set<int> s = convertToSet(vec); printSet(s); return 0; }
Producción
Vector: 1 2 3 1 1 Set: 1 2 3
Publicación traducida automáticamente
Artículo escrito por s_vaibhave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA