std::forward_list<T,Allocator>:: sort
|
void
sort
(
)
;
|
(1) |
(seit C++11)
(constexpr seit C++26) |
|
template
<
class
Compare
>
void sort ( Compare comp ) ; |
(2) |
(seit C++11)
(constexpr seit C++26) |
Sortiert die Elemente und bewahrt die Reihenfolge äquivalenter Elemente. Wenn eine Exception ausgelöst wird, ist die Reihenfolge der Elemente in * this nicht spezifiziert.
Keine Referenzen oder Iteratoren werden ungültig.
Inhaltsverzeichnis |
Parameter
| comp | - |
Vergleichsfunktionsobjekt (d.h. ein Objekt, das die Anforderungen von
Compare
erfüllt), das
true
zurückgibt, wenn das erste Argument
kleiner
als (d.h. vor dem zweiten angeordnet ist) das zweite Argument ist.
Die Signatur der Vergleichsfunktion sollte der folgenden entsprechen: bool cmp ( const Type1 & a, const Type2 & b ) ;
Obwohl die Signatur nicht
const
&
benötigt, darf die Funktion die übergebenen Objekte nicht modifizieren und muss alle Werte der Typen (möglicherweise const)
|
| Typanforderungen | ||
-
Compare
muss die Anforderungen von
Compare
erfüllen.
|
||
Komplexität
Gegeben N als std:: distance ( begin ( ) , end ( ) ) :
Hinweise
std::sort
erfordert Random-Access-Iteratoren und kann daher nicht mit
forward_list
verwendet werden. Diese Funktion unterscheidet sich außerdem von
std::sort
dadurch, dass sie nicht erfordert, dass der Elementtyp des
forward_list
austauschbar ist, die Werte aller Iteratoren beibehält und eine stabile Sortierung durchführt.
Beispiel
#include <functional> #include <iostream> #include <forward_list> std::ostream& operator<<(std::ostream& ostr, const std::forward_list<int>& list) { for (const int i : list) ostr << ' ' << i; return ostr; } int main() { std::forward_list<int> list{8, 7, 5, 9, 0, 1, 3, 2, 6, 4}; std::cout << "initially: " << list << '\n'; list.sort(); std::cout << "ascending: " << list << '\n'; list.sort(std::greater<int>()); std::cout << "descending:" << list << '\n'; }
Ausgabe:
initially: 8 7 5 9 0 1 3 2 6 4 ascending: 0 1 2 3 4 5 6 7 8 9 descending: 9 8 7 6 5 4 3 2 1 0
Siehe auch
|
kehrt die Reihenfolge der Elemente um
(öffentliche Elementfunktion) |