iota

从第一个元素和存储填充起始值,该值 (_Value++) 的连续开始递增在每个时间间隔。**[_First, _Last)**的元素。

template<class ForwardIterator, class Type> 
   void iota( 
      ForwardIterator _First,  
      ForwardIterator _Last, 
      Type _Value  
   );

参数

  • _First
    解决在要填充的范围的第一个元素的输入迭代器。

  • _Last
    解决在要填充的范围的最终元素的输入迭代器。

  • _Value
    存储在第一个元素并继续增加的起始值。随后的元素。

示例

下面的示例通过 列表 然后填充整数填充 矢量 演示 iota 函数的一些用法的 list,以便可以使用 random_shuffle 函数。

// compile by using: cl /EHsc /nologo /W4 /MTd
#include <algorithm>
#include <numeric>
#include <list>
#include <vector>
#include <iostream>

using namespace std;

int main(void)
{
    list <int> intList(10);
    vector <list<int>::iterator> intVec(intList.size());

    // Fill the list
    iota(intList.begin(), intList.end(), 0);

    // Fill the vector with the list so we can shuffle it
    iota(intVec.begin(), intVec.end(), intList.begin());

    random_shuffle(intVec.begin(), intVec.end());

    // Output results
    cout << "Contents of the integer list: " << endl;
    for (auto i: intList) {
        cout << i << ' ';
    }
    cout << endl << endl;

    cout << "Contents of the integer list, shuffled by using a vector: " << endl;
    for (auto i: intVec) {
        cout << *i << ' ';
    }
    cout << endl;
}

Output

Contents of the integer list:

0 1 2 3 4 5 6 7 8 9

Contents of the integer list, shuffled by using a vector:

8 1 9 2 0 5 7 3 4 6

要求

数字 <的页眉: >

命名空间: std

请参见

参考

标准模板库