📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

Wiki がページ「STLの使い方(vector)」を「C++の基礎 - STL(vector)」に、リダイレクトを残さずに移動しました
261行目: 261行目:
  }
  }
  </source>
  </source>
<br><br>
== 要素を反転する ==
std::reverseアルゴリズムは、STLアルゴリズムの一部であり、任意の範囲の要素の順序を逆にすることができる。
最初と最後のペアから始まる2つの要素を内部的に交換する。また、指定された範囲のイテレータを表す2つの引数を取る。
以下の例では、文字をvectorオブジェクトとして生成して、std::reverseアルゴリズムを使用して反転している。
<syntaxhighlight lang="c++">
#include <iostream>
#include <iterator>
#include <iomanip>
#include <vector>
int main()
{
    std::vector<char> arr = {"h", "o", "g", "e"};
    size_t width = 4;
    //arr.reserve(width);
    std::cout << std::left << std::setw(10) << "arr: ";
    copy(arr.begin(), arr.end(), std::ostream_iterator<int>(cout,"; "));
    std::cout << std::endl;
    std::reverse(arr.begin(), arr.end());
    std::cout << std::left << std::setw(10) << "arr: ";
    copy(arr.begin(), arr.end(), std::ostream_iterator<int>(cout,"; "));
    std::cout << std::endl;
    return EXIT_SUCCESS;
}
</syntaxhighlight>
<br>
// 出力例
arr:      h; o; g; e;
arr:      e; g; o; h;
<br><br>
<br><br>