vector:: Assign() es un STL en C++ que asigna nuevos valores a los elementos del vector reemplazando los antiguos. También puede modificar el tamaño del vector si es necesario.
La sintaxis para asignar valores constantes:
vectorname.assign(int size, int value) Parameters: size - number of values to be assigned value - value to be assigned to the vectorname
Programa 1: El siguiente programa muestra cómo asignar valores constantes a un vector
CPP
// CPP program to demonstrate // how to assign constant values to a vector #include <bits/stdc++.h> using namespace std; int main() { vector<int> v; v.assign(7, 100); cout << "Size of first: " << int(v.size()) << '\n'; cout << "Elements are\n"; for (int i = 0; i < v.size(); i++) cout << v[i] << endl; return 0; }
Size of first: 7 Elements are 100 100 100 100 100 100 100
La sintaxis para asignar valores de una array o lista:
vectorname.assign(arr, arr + size) Parameters: arr - the array which is to be assigned to a vector size - number of elements from the beginning which has to be assigned.
Programa 2: El siguiente programa muestra cómo asignar valores de una array o lista
CPP
// CPP program to demonstrate // how to assign values to a vector // from a list #include <bits/stdc++.h> using namespace std; int main() { vector<int> v1; int a[] = { 1, 2, 3 }; // assign first 2 values v1.assign(a, a + 2); cout << "Elements of vector1 are\n"; for (int i = 0; i < v1.size(); i++) cout << v1[i] << " "; vector<int> v2; // assign first 3 values v2.assign(a, a + 3); cout << "\nElements of vector2 are\n"; for (int i = 0; i < v2.size(); i++) cout << v2[i] << " "; return 0; }
Elements of vector1 are 1 2 Elements of vector2 are 1 2 3
La sintaxis para modificar valores de un vector
vectorname.assign(InputIterator first, InputIterator last) Parameters: first - Input iterator to the initial position range. last - Input iterator to the final position range.
Programa 3: El siguiente programa muestra cómo modificar el vector
CPP
// CPP program to demonstrate // how to modify vector size #include <bits/stdc++.h> using namespace std; int main() { vector<int> v; v.assign(7, 100); cout << "Size of first: " << int(v.size()) << '\n'; cout << "Elements are\n"; for (int i = 0; i < v.size(); i++) cout << v[i] << endl; // modify the elements v.assign(v.begin(), v.begin() + 3); cout << "\nModified VectorElements are\n"; for (int i = 0; i < v.size(); i++) cout << v[i] << endl; return 0; }
Size of first: 7 Elements are 100 100 100 100 100 100 100 Modified VectorElements are 100 100 100
Complejidad del tiempo : lineal O (N)
Sintaxis para asignar valores con la lista de inicializadores:
vectorname.assign((initializer_list) Parameter: initializer_list
Programa 4: El siguiente programa muestra cómo asignar un vector con una lista de inicializadores.
C++
#include <iostream> #include <vector> using namespace std; int main() { vector<int> v; // Initialize v with an initialization list v.assign({ 1, 2, 3 }); cout << "The list is:" << endl; for (auto i = v.begin(); i != v.end(); i++) { // Printing 1 2 3 as output cout << *i << " "; } return 0; }
The list is: 1 2 3