std::rotate

提供: C++入門
2013年12月28日 (土) 00:51時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「std::rotate とは、配列やコンテナの要素をローテート(回転)させるアルゴリズムです。 '''読み方''' ;std::rotate:えすてぃ...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

std::rotate とは、配列やコンテナの要素をローテート(回転)させるアルゴリズムです。

読み方

std::rotate
えすてぃーでぃー ろーてーと

概要

std::rotateは、コンテナの要素を回転させるために利用できます。

ヘッダファイル

#include <algorithm>

rotate1.cpp の例

ソースコード rotate1.cpp

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, char const* argv[])
{
        vector<int> v{1,2,3,4,5};
        auto dump = [](vector<int>& v) {
                for(auto i:v) { cout << i << " ";}
                cout << endl;
        };
        dump(v);
 
        //左に仮
        rotate(v.begin(),v.begin()+1,v.end());
        dump(v);
        rotate(v.begin(),v.begin()+1,v.end());
        dump(v);
 
        //右に仮
        rotate(v.rbegin(),v.rbegin()+1,v.rend());
        dump(v);
        rotate(v.rbegin(),v.rbegin()+1,v.rend());
        dump(v);
        return 0;
}

コンパイル

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

実行例

% ./rotate1
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
2 3 4 5 1
1 2 3 4 5


関連項目




スポンサーリンク