<
演算子にオーバーロードされたオブジェクトのstd::vector
があります。std ::演算子のオーバーロードで降順をソート
std::sort
を使用して降順でソートするにはどうすればよいですか(自分のコンパレータを記述する必要はありません)。
<
演算子にオーバーロードされたオブジェクトのstd::vector
があります。std ::演算子のオーバーロードで降順をソート
std::sort
を使用して降順でソートするにはどうすればよいですか(自分のコンパレータを記述する必要はありません)。
あなたは、単にstd::bind
の助けを借りてstd::less
に引数をトランスポーズできます。
using namespace std::placeholders;
std::sort(v.begin(), v.end(), std::bind(std::less<T>{}, _2, _1));
しかし、私はそれはの制約に反していても、単に同等の短いラムダを書くためにずっときれいだろうと思いますあなたはstd::sort
を使用して配列をソートしてからでそれを逆にすることができます
std::sort(v.begin(), v.end(), [](T const& lhs, T const& rhs) { return rhs < lhs; });
std::sort(v.rbegin(), v.rend());
:あなた自身のコンパレータを書いていません。これはあなたの望むように並べ替えます。
std::sort(v.begin(), v.end());
std::reverse(v.begin(), v.end());
'のstd ::ソート((V)の端を開始(V)のstd ::大きい<>);' – SirGuy
'のstd ::ソート(v.rbegin()、v.rend()) ; –
[降順でベクタを並べ替える]の複製が可能です。(http://stackoverflow.com/questions/9025084/sorting-a-vector-in-descending-order) – SirGuy