list::sort (STL/CLR)
被制御シーケンスを順序付けます。
void sort();
template<typename Pred2>
void sort(Pred2 pred);
パラメーター
- pred
要素のペアの比較子。
解説
一つ目のメンバー関数は operator< で並べるように、被制御シーケンスの要素を再配置します -- 要素は、値のシーケンスによって進行状況に合わせて減りません。乗算順のシーケンスを並べ替えるには、このメンバー関数を使用します。
2 番目のメンバー関数は、まず 1 番目と同様に動作します。ただし、シーケンスは pred に並べ替えられます -- pred(X, Y) は、結果のシーケンスの要素 Y に続くすべての要素 X の場合は false です。述語関数、またはデリゲートで指定した順序でシーケンスを並べ替えるときに使用します。
関数も、安定した並べ替えを実行します。 -- 元の被制御シーケンスの要素のペアは、被制御シーケンスの反転しません。
使用例
// cliext_list_sort.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// sort descending and redisplay
c1.sort(cliext::greater<wchar_t>());
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// sort ascending and redisplay
c1.sort();
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
必要条件
ヘッダー:<cliext/リスト>
名前空間: の cliext