C++ <list> sort-Funktion
sortwird in list verwendet, umdie verkettete Liste zu sortierenDie Funktion ist eine effiziente Operation, die einzigartig für verkettete Listen ist.
sortSie ist eine Memberfunktion der Containerklasse und wird verwendet, um die Elemente in der verketteten Liste zu sortieren.
von listsortEs verwendet Merge Sort mit einer Zeitkomplexität von O(n log n) und verursacht keine Elementverschiebungen.
Wortdefinitionen: sortEs bedeutet "sort", d. h. das Sortieren der Elemente.
Grundlegende Syntax und Parameter
Syntaxformat
void sort(); void sort(Compare comp);
Parameterbeschreibung
- Parameter(optional):
comp- Vergleichsfunktion
Funktionsbeschreibung
- Rückgabewert:
void(Kein Rückgabewert). - Wirkung: Sortieren der Elemente in der verketteten Liste.
Beispiel
Beispiel 1: Grundlegende Sortierung
Beispiel
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "Vor dem Sortieren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "Nach dem Sortieren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "Vor dem Sortieren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "Nach dem Sortieren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Erwartete Ausgabe:
排序前: 5 2 8 1 9 3 排序后: 1 2 3 5 8 9
Beispiel 2: Absteigende Sortierung
Beispiel
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// In absteigender Reihenfolge sortieren
numbers.sort(std::greater<int>());
std::cout << "Nach dem Sortieren in absteigender Reihenfolge: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// In absteigender Reihenfolge sortieren
numbers.sort(std::greater<int>());
std::cout << "Nach dem Sortieren in absteigender Reihenfolge: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Erwartete Ausgabe:
降序排序后: 9 8 5 3 2 1
Weitere Erweiterungen