Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Computer Science. Textbook
C++。 動的データ構造
コンパレータによるソート
コンパレータによる並べ替え
ベクトル (配列など)
sort()
関数を使用して並べ替えることができます。ただし、この関数はデフォルトで昇順に並べ替えます。配列を別の順序で並べ替えるには、いわゆる
コンパレータ
を使用する必要があります。これは、2 つのオブジェクトを比較して並べ替え順序を設定する関数です。 。
例
配列の要素を昇順に並べ替えるコンパレータの例。
bool cmp(最初に int、2 番目に int) { 最初に戻る < 2番; }プレ>
作成したコンパレーターを使用してベクトル
A
をソートします。
sort(A.begin(), A.end(), cmp); プレ>
イテレータについて考える
問題の状況によれば、
安定した
(安定した) ソートを適用する必要があることは明らかであるため、sort の代わりに、stable_sort を使用する必要があります。
関数オブジェクトをコンパレータとして指定することもできます。これは、sort 関数を呼び出す前に作成できます。
例:
構造体
{
bool
operator
()(
int
a,
int
b)
const
{
<
b; を
返す
} }cmp; プレ>