第100章 reverse_copyアルゴリズム関数


reverse_copy関数は、その名の通り順序を反転してコピーします。



template inline
   OutputIterator reverse_copy(
      BidirectionalIterator First,
      BidirectionalIterator Last,
      OutputIterator Result
   )
Firstには、反転してコピーするコピー元の最初の要素。

Lastは、最後の要素の次。

Resultは、出力先です。

では、サンプルを見てみましょう。

// reversecopy01.cpp

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;


int main()
{
    vector<int> v1, v2(10);
    vector<int>::iterator p1, p2;
    int i;

    for (i = 0; i < 10; i++)
        v1.push_back(i);

    for (p1 = v1.begin(); p1 != v1.end(); p1++)
        cout << *p1 << ", ";

    cout << endl;


    reverse_copy(v1.begin(), v1.end(), v2.begin());

    

    for (p2 = v2.begin(); p2 != v2.end(); p2++)
        cout << *p2 << ", ";
    
    cout << endl;

    return 0;
}
実行結果はどうなっているかというと

v2には、あらかじめv2(10)のように長さを指定しておく必要があります。



いろいろなプログラムを作ってreverse_copy関数の動作を試してみてください。


[C++Index] [総合Index] [Previous Chapter] [Next Chapter]

Update Nov/20/2005 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。