std::iota in C++
Store increasing sequence
Assigns to every element in the range [first, last] successive values of val, as if incremented with ++val after each element is written.
Template :
void iota (ForwardIterator first, ForwardIterator last, T val); Parameters : first, last Forward iterators to the initial and final positions of the sequence to be written. The range used is [first, last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last. val Initial value for the accumulator. Return Type : None
C++
Output
Elements are : 100 101 102 103 104 105 106 107 108 109
Time Complexity: O(n)
Auxiliary Space : O(n)
Application :
It can be used to generate a sequence of consecutive numbers.
C++
// C++ program to generate // a sequence of numbers using std :: iota #include <iostream> // std::cout #include <numeric> // std::iota // Driver code int main() { int numbers[11]; // Initialising starting value as 10 int st = 10; std::iota(numbers, numbers + 11, st); std::cout << "Elements are :" ; for ( auto i : numbers) std::cout << ' ' << i; std::cout << '\n' ; return 0; } |
Output
Elements are : 10 11 12 13 14 15 16 17 18 19 20
Time Complexity: O(n)
Auxiliary Space: O(n)