Initialize a vector in C++ (7 different ways)
The following are different ways to create and initialize a vector in C++ STL
1. Initializing by pushing values one by one :
CPP
// CPP 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 :
CPP
// CPP 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 :
CPP
// CPP 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 :
CPP
// CPP 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 :
CPP
// CPP 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 :
CPP
#include <iostream> #include <vector> using namespace std; int main() { vector< int > vect1(10); int value = 5; fill(vect1.begin(), vect1.end(), value); for ( int x : vect1) cout << x << " " ; } |
5 5 5 5 5 5 5 5 5 5
7. Initialize an array with consecutive numbers using std::iota :
C++
// CPP program to initialize an array with consecutive // numbers #include <iostream> #include <numeric> using namespace std; int main() { int arr[5]; iota(arr, arr + 5, 1); for ( int i = 0; i < 5; i++) { cout << arr[i] << " " ; } return 0; } |
1 2 3 4 5
Time complexity: O(N) // N is the size of vector. time complexity of insertion is O(1) but time complexity of traversal is O(N).
Auxiliary space: O(N). //because size of vector is not defined.
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 or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Please Login to comment...