cplusplus.com の参照から、要素をソートしているようですstd::set
。
文字列をソートする必要がありますが、すべてのプラットフォームとコンパイラでうまく機能するかどうかはわかりません。主にGCC、MinGW、VC。
その定義によりstd::set
、ソートされたコンテナーです。標準の一部です。ソートすると、単なる任意のコレクションではなく、セットを維持するのに役立ちます。
はい、std::set
要素の反復処理がソートされた順序で行われるように、その要素を保存します (そして、への呼び出しは、一意のアイテムも保存std::adjacent_find
することを示すことです)。std::set
#include <algorithm>
#include <iterator>
#include <ios>
#include <iostream>
#include <set>
#include <string>
int main()
{
auto const ss = std::set<std::string> { "foo", "bar", "test" };
std::cout << std::boolalpha << std::is_sorted(begin(ss), end(ss)) << "\n";
std::cout << std::boolalpha << (std::adjacent_find(begin(ss), end(ss)) == end(ss)) << "\n";
std::copy(begin(ss), end(ss), std::ostream_iterator<std::string>(std::cout, "\n"));
}