Vectores : los vectores son contenedores similares a las arrays dinámicas, con la capacidad de cambiar de tamaño cuando se inserta o elimina un nuevo elemento. Es una plantilla de Standard Template Library o STL, que aporta más flexibilidad al programa. Los elementos de los vectores se colocan en almacenamiento contiguo y se recorren mediante iteradores .
Ejemplos:
vector <int> v; v.push_back(1); v.push_back(2); v.clear();
A continuación se muestra la implementación de vectores en C++:
C++
// C++ program to demonstrate the // working of vector in cpp #include <bits/stdc++.h> using namespace std; // Driver Code int main() { vector<int> v; // Inserting elements in vector v.push_back(11); v.push_back(6); v.push_back(12); v.push_back(0); v.push_back(0); // Elements are stored in the // order of insertion with the // duplicate element cout << "Elements in vector are:\n"; for (auto it : v) { cout << it << " "; } return 0; }
Elements in vector are: 11 6 12 0 0
Complejidad de tiempo: O(N) // Para N inserciones
Espacio auxiliar: O(1)
Conjunto : Conjunto es también una de las plantillas de la Biblioteca de plantillas estándar o STL . Es un contenedor de elementos únicos cuyo valor no se puede modificar una vez agregado al conjunto, pero se puede eliminar o insertar. Los elementos de los conjuntos siempre se almacenan ordenados.
Ejemplos:
set <int> s; s.insert(1); s.insert(12); int key = 1; s.erase(key);
A continuación se muestra la implementación de conjuntos en C++:
C++
// C++ program to demonstrate the // working of set in c++ #include <bits/stdc++.h> using namespace std; // Driver Code int main() { set<int> s; // Insert elements into the set s.insert(11); s.insert(6); s.insert(12); s.insert(0); // Duplicate elements s.insert(0); cout << "Elements in set:\n"; // The inserted elements get sorted // Print the elements of the set for (auto it : s) { cout << it << " "; } return 0; }
Elements in set: 0 6 11 12
Complejidad de tiempo: O(Nlog N) // Para N inserciones
Espacio auxiliar: O(1)
Diferencia tabular entre el vector y el conjunto :
Vector |
Establecer |
Los elementos del vector no están ordenados. | Los elementos de los conjuntos siempre están ordenados. |
Puede contener elementos duplicados. | Contiene sólo elementos únicos. |
El vector está desordenado. | El conjunto está ordenado. |
La complejidad de tiempo para la inserción de un nuevo elemento es O(1) . | La complejidad de tiempo para la inserción de un nuevo elemento es O(log N) . |
Vector es más rápido para la inserción y eliminación de elementos al final del contenedor. | El conjunto es más rápido para la inserción y eliminación de elementos en el medio del contenedor. |
Publicación traducida automáticamente
Artículo escrito por aktmishra143 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA