Initialize a vector in C++ (7 different ways)
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; } |
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; } |
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; } |
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; } |
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; } |
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; } |
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; } |
1 2 3 4 5
Time complexity: O(N), where N is the size of the vector.
Auxiliary space: O(N).
This article is contributed by Kartik. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above.
Please Login to comment...