Conjunto en STL Los conjuntos son un tipo de contenedores asociativos en los que cada elemento tiene que ser único, porque el valor del elemento lo identifica. El valor del elemento no se puede modificar una vez que se agrega al conjunto, aunque es posible eliminar y agregar el valor modificado de ese elemento.
Vector en STL Vector es lo mismo que las arrays dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, y el contenedor maneja automáticamente su almacenamiento. Los elementos vectoriales se colocan en almacenamiento contiguo para que se pueda acceder a ellos y recorrerlos mediante iteradores.
Conjunto de vectores en STL: Conjunto de vectores puede ser muy eficiente en el diseño de estructuras de datos complejas.
Sintaxis:
set<vector<datatype>> set_of_vector;
Por ejemplo : Considere un problema simple donde tenemos que imprimir todos los vectores únicos.
// C++ program to demonstrate // use of set for vectors #include <bits/stdc++.h> using namespace std; set<vector<int> > set_of_vectors; // Print elements of Vector void Print_Vector(vector<int> Vec) { for (int i = 0; i < Vec.size(); i++) { cout << Vec[i] << " "; } cout << endl; return; } // Driver code int main() { // Initializing some vectors vector<int> data_1{ 10, 20, 30, 40 }; vector<int> data_2{ 5, 10, 15 }; vector<int> data_3{ 1, 3, 5, 7, 9, 11, 13 }; vector<int> data_4{ 5, 10, 15 }; vector<int> data_5{ 10, 20, 30, 40 }; // Inserting vectors into set set_of_vectors.insert(data_1); set_of_vectors.insert(data_2); set_of_vectors.insert(data_3); set_of_vectors.insert(data_4); set_of_vectors.insert(data_5); // printing all the unique vectors in set cout << "Set of Vectors: \n"; for (auto it = set_of_vectors.begin(); it != set_of_vectors.end(); it++) { Print_Vector(*it); } return 0; }
Set of Vectors: 1 3 5 7 9 11 13 5 10 15 10 20 30 40