vector :: assign() in C++ STL
vector:: assign() is an STL in C++ which assigns new values to the vector elements by replacing old ones. It can also modify the size of the vector if necessary.
The syntax for assigning constant values:
vectorname.assign(int size, int value)
Parameters:
size - number of values to be assigned
value - value to be assigned to the vectorname
Program 1: The program below shows how to assign constant values to a vector
CPP
#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;
}
|
Output
Size of first: 7
Elements are
100
100
100
100
100
100
100
The syntax for assigning values from an array or list:
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.
Program 2: The program below shows how to assign values from an array or list
CPP
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector< int > v1;
int a[] = { 1, 2, 3 };
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;
v2.assign(a, a + 3);
cout << "\nElements of vector2 are\n" ;
for ( int i = 0; i < v2.size(); i++)
cout << v2[i] << " " ;
return 0;
}
|
Output
Elements of vector1 are
1 2
Elements of vector2 are
1 2 3
The syntax for modifying values from a vector
vectorname.assign(InputIterator first, InputIterator last)
Parameters:
first - Input iterator to the initial position range.
last - Input iterator to the final position range.
Program 3: The program below shows how to modify the vector
CPP
#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;
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;
}
|
Output
Size of first: 7
Elements are
100
100
100
100
100
100
100
Modified VectorElements are
100
100
100
Time Complexity – Linear O(N)
Syntax for assigning values with initializer list:
vectorname.assign((initializer_list)
Parameter: initializer_list
Program 4:The program below shows how to assign a vector with an initializer list.
C++
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector< int > v;
v.assign({ 1, 2, 3 });
cout << "The list is:" << endl;
for ( auto i = v.begin(); i != v.end(); i++)
{
cout << *i << " " ;
}
return 0;
}
|
Output
The list is:
1 2 3
Last Updated :
09 Jun, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...