How to use copy() function in C++ STL In C++
copy() function in C++ is used to copy a range of elements from one container to another. It takes 3 arguments which are a pointer to the beginning of the source container, a pointer to the end of the source container, and a pointer to the beginning of the destination container.
Example:
C++
// C++ program to convert vector to // array using copy() function #include <bits/stdc++.h> using namespace std; int main() { // Initialising the vector vector< int > v({ 1, 2, 3, 4, 5 }); int n = v.size(); // Printing original vector cout<< "Vector: " ; for ( int i: v) { cout << i << ' ' ; } cout<<endl; // Initialising the array to // store elements int arr[n]; // Using copy() function // to copy elements copy(v.begin(),v.end(),arr); // Printing the array cout<< "Array: " ; for ( int i: arr) { cout << i << ' ' ; } cout<<endl; return 0; } |
Vector: 1 2 3 4 5 Array: 1 2 3 4 5
Time Complexity: O(n)
Auxiliary Space: O(n)
Different Ways to Convert Vector to Array in C++ STL
An array is the collection of data belonging to a primitive data type. The data in this is kept in a continuous memory location. Vectors are dynamic arrays that can be resized to meet the needs. We can convert vectors to arrays in the following ways given below.
Example:
Input : Vector: [1, 2, 3, 4, 5]
Output: Array: [1, 2, 3, 4, 5]Input : Vector: [βGβ, βeβ, βeβ, βkβ, βsβ]
Output: Array: [βGβ, βeβ, βeβ, βkβ, βsβ]
- Naive Approach to Convert Vector to Array
- Using copy() function in C++ STL
- Using transform() function in C++ STL
- Using data() function in C++ STL
- Using & operator in C++