Función sort de C++ <list>
Clase de contenedor <list> de C++
sortes la función utilizada en list paraordenar la lista enlazada, es una operación eficiente específica de las listas enlazadas.
sortEs una función miembro de la clase de contenedor, utilizada para ordenar los elementos de la lista enlazada.
La función sort de listsortutiliza ordenamiento por mezcla (merge sort), con complejidad temporal O(n log n), y no provoca movimiento de elementos.
Definición de la palabra: sortsignifica "ordenar", es decir, ordenar los elementos.
Sintaxis básica y parámetros
Formato de sintaxis
void sort(); void sort(Compare comp);
Descripción de parámetros
- Parámetro(opcional):
comp- Función de comparación
Descripción de la función
- Valor de retorno:
void(Sin valor de retorno). - Efecto: Ordena los elementos de la lista enlazada.
Ejemplo
Ejemplo 1: Ordenamiento básico
Ejemplo
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "Antes de ordenar: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "Después de ordenar: ";
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 << "Antes de ordenar: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "Después de ordenar: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Resultado esperado:
排序前: 5 2 8 1 9 3 排序后: 1 2 3 5 8 9
Ejemplo 2: Ordenamiento descendente
Ejemplo
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// Ordenamiento descendente
numbers.sort(std::greater<int>());
std::cout << "Después del ordenamiento descendente: ";
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};
// Ordenamiento descendente
numbers.sort(std::greater<int>());
std::cout << "Después del ordenamiento descendente: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Resultado esperado:
降序排序后: 9 8 5 3 2 1
Otras extensiones