在C++中,iota是一個(gè)算法函數(shù),定義在頭文件 <numeric> 中,用于生成一個(gè)連續(xù)遞增的序列。
函數(shù)簽名如下:
template<class ForwardIt, class T>
void iota(ForwardIt first, ForwardIt last, T value);
iota函數(shù)接受兩個(gè)迭代器 first 和 last,以及一個(gè)初始值 value。它會(huì)從 first 開始,逐個(gè)增加值,并將遞增的值賦給范圍內(nèi)的元素,直到 last(不包括 last)。
下面是一個(gè)使用 iota 函數(shù)生成連續(xù)遞增序列的示例:
#include <iostream>
#include <numeric>
#include <vector>
int main() {
std::vector<int> numbers(5);
int startValue = 1;
std::iota(numbers.begin(), numbers.end(), startValue);
for (const auto& num : numbers) {
std::cout << num << " ";
}
return 0;
}
輸出:
1 2 3 4 5
在上述示例中,我們使用 iota 函數(shù)將初始值 startValue(為1)賦給了 numbers 容器中的元素,每個(gè)元素的值逐個(gè)遞增。這樣就生成了一個(gè)連續(xù)遞增的序列。