The following are different ways to construct or initialize a vector in C++ STL
1. Initializing by pushing values one by one:
C++
// C++ program to create an empty // vector and push values one // by one. #include <iostream> #include <vector> using namespace std;
int main()
{ // Create an empty vector
vector< int > vect;
vect.push_back(10);
vect.push_back(20);
vect.push_back(30);
for ( int x : vect)
cout << x << " " ;
return 0;
} |
Output
10 20 30
2. Specifying size and initializing all values:
C++
// C++ program to create an empty // vector and push values one // by one. #include <iostream> #include <vector> using namespace std;
int main()
{ int n = 3;
// Create a vector of size n with
// all values as 10.
vector< int > vect(n, 10);
for ( int x : vect)
cout << x << " " ;
return 0;
} |
Output
10 10 10
3. Initializing like arrays:
C++
// C++ program to initialize // a vector like an array. #include <iostream> #include <vector> using namespace std;
int main()
{ vector< int > vect{ 10, 20, 30 };
for ( int x : vect)
cout << x << " " ;
return 0;
} |
Output
10 20 30
4. Initializing from an array:
C++
// C++ program to initialize // a vector from an array. #include <iostream> #include <vector> using namespace std;
int main()
{ int arr[] = { 10, 20, 30 };
int n = sizeof (arr) / sizeof (arr[0]);
vector< int > vect(arr, arr + n);
for ( int x : vect)
cout << x << " " ;
return 0;
} |
Output
10 20 30
5. Initializing from another vector:
C++
// C++ program to initialize a vector from // another vector. #include <iostream> #include <vector> using namespace std;
int main()
{ vector< int > vect1{ 10, 20, 30 };
vector< int > vect2(vect1.begin(), vect1.end());
for ( int x : vect2)
cout << x << " " ;
return 0;
} |
Output
10 20 30
6. Initializing all elements with a particular value:
C++
// C++ Program to initialize vector using fill() #include <iostream> #include <vector> using namespace std;
int main()
{ // creating array with size 10
vector< int > vect1(10);
// initializing using fill() function
int value = 5;
fill(vect1.begin(), vect1.end(), value);
// printing vector
for ( int x : vect1)
cout << x << " " ;
return 0;
} |
Output
5 5 5 5 5 5 5 5 5 5
7. Initialize an array with consecutive numbers using std::iota:
C++
// C++ program to initialize a // vector with consecutive // numbers #include <iostream> #include <numeric> #include <vector> using namespace std;
int main()
{ // declaring a vector with size 5
vector< int > vec(5);
// initializing using iota()
iota(vec.begin(), vec.end(), 1);
// printing the vector
for ( int i = 0; i < 5; i++) {
cout << vec[i] << " " ;
}
return 0;
} |
Output
1 2 3 4 5
Time complexity: O(N), where N is the size of the vector.
Auxiliary space: O(N).