Initializing Vector using an Existing Vector in C++ STL
A vector is a type of container which can store objects of similar data type. Vector acts like a dynamic array where we can insert elements and the size of the array increases depending upon the elements inserted.
Syntax:
vector<data_structure/type> vector_name(size, item)
To know more about vectors refer to vectors in C++.
The 3D vector in C++
A 3D vector is a type of multidimensional vector having 3 dimensions. It can also be interpreted as a vector with a collection of 2D vectors inside it.

Syntax:
vector<vector<vector<int>>> v;
Example:
1 D vector -> { 1 , 2, 3 }
2 D vector -> { { 1,2,3 } , {4,5,6} }
3 D vector -> { { { 1,2,3 } , {4,5,6} } , { { 11,12,13 } , {14,15,16} } , { { 21,22,23 } , {24,25,26} } }
Below is the code of the example:
C++
#include <iostream> #include <vector> using namespace std; int main() { // 1D Array vector< int > a = { 1, 2, 3 }; cout<< "1D vector\n" ; for ( int i = 0; i < a.size(); i++) { cout << a[i] << " " ; } // 2D Array vector<vector< int > > b = { { 1, 2, 3 }, { 4, 5, 6 } }; cout<< "\n\n2D vector\n" ; for ( int i = 0; i < b.size(); i++) { for ( int j = 0; j < b[0].size(); j++) { cout << b[i][j] << " " ; } cout << endl; } // 3D Array vector<vector<vector< int > > > c = { { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }, { { 11, 12, 13 }, { 14, 15, 16 }, { 17, 18, 19 } }, { { 21, 22, 23 }, { 24, 25, 26 }, { 27, 28, 29 } } }; cout<< "\n\n3D vector\n" ; cout << "[\n" ; for ( int i = 0; i < c.size(); i++) { for ( int j = 0; j < c[0].size(); j++) { cout << " [ " ; for ( int k = 0; k < c[0][0].size(); k++) { cout << c[i][j][k] << " " ; } cout << "]" ; } cout << endl; } cout << "]" ; return 0; } |
1D vector 1 2 3 2D vector 1 2 3 4 5 6 3D vector [ [ 1 2 3 ] [ 4 5 6 ] [ 7 8 9 ] [ 11 12 13 ] [ 14 15 16 ] [ 17 18 19 ] [ 21 22 23 ] [ 24 25 26 ] [ 27 28 29 ] ]
Copying vector elements in a new vector
It is the method where we can insert the values of the existing vector into the newly created vector during Initialisation.
Syntax:
vector<vector<vector<int>>> v2(v1.begin(),v2.end());
Example:
vector<vector<vector<int>>> v1={ { { 1, 2 }, { 3, 4 } },
{ { 5, 6 }, { 7, 8 } } }; // 3D vector original
vector<vector<vector<int>>> v2; // ( Copy elements of v1 inside v2 )
Code:
C++
#include <bits/stdc++.h> using namespace std; // function to display vector void display(vector<vector<vector< int > > >& v) { for ( int i = 0; i < v.size(); i++) { cout << "i : " << i << endl; for ( int j = 0; j < v[i].size(); j++) { for ( int k = 0; k < v[i][j].size(); k++) cout << v[i][j][k] << " " ; cout << endl; } cout << endl; } } int main() { vector<vector<vector< int > > > v = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; // initializing vect using v vector<vector<vector< int > > > vect(v.begin(), v.end()); display(vect); } |
i : 0 1 2 3 4 i : 1 5 6 7 8
Time Complexity: O(n)
Here n is the number of elements in the original vector.
Auxiliary Space: O(n)
Copying vector elements using copy function in C++ STL
It is the method where we can insert the values of the existing vector into the newly created vector using copy() function in C++.
Syntax:
copy(first_iterator, last_iterator, back_inserter())
Example:
vector<vector<vector<int> > > v = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; // Original 3-D vector
copy(v.begin(), v.end(), back_inserter(vect)); // Copying vector elements to another vector by using copy() function
Code:
C++
#include <bits/stdc++.h> using namespace std; // function to display vector void display(vector<vector<vector< int > > >& v) { for ( int i = 0; i < v.size(); i++) { cout << "i : " << i << endl; for ( int j = 0; j < v[i].size(); j++) { for ( int k = 0; k < v[i][j].size(); k++) cout << v[i][j][k] << " " ; cout << endl; } cout << endl; } } int main() { vector<vector<vector< int > > > v = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; // initializing vect vector<vector<vector< int > > > vect; // Copying vector by copy function copy(v.begin(), v.end(), back_inserter(vect)); display(vect); } |
i : 0 1 2 3 4 i : 1 5 6 7 8
Time Complexity: O(n)
Here n is the number of elements in the original vector.
Auxiliary Space: O(n)
Please Login to comment...