Fonction sort de C++ <list>
sortest utilisé dans list pourTrier la liste chaînéeLa fonction est une opération efficace propre aux listes chaînées.
sortC'est une fonction membre de la classe conteneur, utilisée pour trier les éléments de la liste chaînée.
de listsortIl utilise le tri par fusion, avec une complexité temporelle de O(n log n), et ne provoque pas de déplacement d'éléments.
Définitions de mots: sortCela signifie « sort », c'est-à-dire trier les éléments.
Syntaxe de base et paramètres
Format de syntaxe
void sort(); void sort(Compare comp);
Description des paramètres
- Paramètre(Facultatif) :
comp- Fonction de comparaison
Description de la fonction
- Valeur de retour:
void(Aucune valeur de retour). - Effet: tri des éléments dans la liste chaînée.
Exemple
Exemple 1 : Tri de base
Exemple
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "Avant le tri : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "Après tri : ";
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 << "Avant le tri : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "Après tri : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Sortie attendue :
排序前: 5 2 8 1 9 3 排序后: 1 2 3 5 8 9
Exemple 2 : Tri décroissant
Exemple
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// Trier par ordre décroissant
numbers.sort(std::greater<int>());
std::cout << "Après tri par ordre décroissant : ";
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};
// Trier par ordre décroissant
numbers.sort(std::greater<int>());
std::cout << "Après tri par ordre décroissant : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Sortie attendue :
降序排序后: 9 8 5 3 2 1
autres extensions