std::reverse copy

提供: C++入門
移動: 案内検索
スポンサーリンク

std::reverse_copy とは、C++で指定範囲の要素を逆向きにコピーするアルゴリズムです。std::vectorをコピーするときなどに使われます。

読み方

std::reverse_copy
えすてぃーでぃー りばーす こぴー

概要

std::copyでは、コピー元と同じ順番で、コピー先に並べます。コピー元と逆向きに並べる場合には、std::reverse_copyを使用します。

firstからendまでを逆向きの順番でresultにコピーします。

std::reverse_copy(first, end, result);

vector_reverse_copy1.cpp の例

ソースコード vector_reverse_copy1.cpp

#include <iostream>
#include <vector>
#include <algorithm>    // std::copy
#include <iterator>     // std::back_inserter
using namespace std;
int main(int argc, char const* argv[])
{
        vector<int> v1,v2;
        for(int i = 0;i<5;i++) {
                v1.push_back(i);
        }
        //copy(v1.begin(), v1.end(), back_inserter(v2) );
        reverse_copy(v1.begin(), v1.end(), back_inserter(v2) );
        for(auto i:v2) {
                cout << i << endl;
        }
        return 0;
}

コンパイル

g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \
-Wl,-rpath=/usr/local/lib/gcc49 vector_reverse_copy1.cpp -o vector_reverse_copy1

実行例

% ./vector_reverse_copy1
4
3
2
1
0

関連項目




スポンサーリンク