0

私は、c++ コンパレータの厳密な弱い順序付けに従う必要があることを知っています。そして主な理由は、それ!(a > b) && !(b > a)が等価演算子として機能することです。

しかし、問題は、等価演算子 not like を必要としない場所でのみソートすることですstd::set

たとえば、セットのベクトルがあり、セット A が B の適切なサブセットである場合、並べ替え後、セット A のインデックスはセット B のインデックスよりも小さくなければなりません。

したがって、このようにコンパレーターを書くと仮定します

bool comparator(vector<int> &A, vector<int> &B) const {
    // if A is proper subset of B, return true
    // otherwise, return false
}

ではstd::sort、このコンパレータは常にトポロジカル ソートのように機能しますか?

プラス)

不足している情報を提供してくれた Oliver Charlesworth に感謝します。

このようなコンパレータが、トポロジカル ソートとしてクイック ソートや挿入ソート (いくつかの有名な比較ベースのソート アルゴリズム) と連携することを本当に知りたいです。

4

1 に答える 1