次の方法で共有


iota

間隔で [_First, _Last)要素にその値 (_Value++) の一連のインクリメントと最初の要素と入力してから開始値が格納されます。

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

パラメーター

  • _First
    格納する範囲内の先頭の要素を示す入力反復子。

  • _Last
    格納する範囲の最後の要素を示す入力反復子。

  • _Value
    最初の要素に格納し、順次後続の要素を対象にインクリメントする開始値。

使用例

次の例では、整数の リスト を設定すると listベクター を入力して、random_shuffle 関数が使用できるように iota 関数の用途を示しています。

// 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;
}

出力

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

必要条件

ヘッダー: <numeric>

名前空間: std

参照

関連項目

標準テンプレート ライブラリ