std::list<T,Allocator>:: sort
|
void
sort
(
)
;
|
(1) | (constexpr desde C++26) |
|
template
<
class
Compare
>
void sort ( Compare comp ) ; |
(2) | (constexpr desde C++26) |
Ordena los elementos y preserva el orden de los elementos equivalentes. Si se lanza una excepción, el orden de los elementos en * this no está especificado.
Ninguna referencia o iterador se invalida.
ContenidoParámetros
ComplejidadDado N como size() :
1)
Aproximadamente
N·log(N)
comparaciones usando
operator
<
.
2)
Aproximadamente
N·log(N)
aplicaciones de la función de comparación
comp
.
Notas
std::sort
requiere iteradores de acceso aleatorio y por lo tanto no puede utilizarse con
EjemploEjecuta este código #include <functional>
#include <iostream>
#include <list>
std::ostream& operator<<(std::ostream& ostr, const std::list<int>& list)
{
for (const int i : list)
ostr << ' ' << i;
return ostr;
}
int main()
{
std::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';
}
Salida: 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
Informes de defectosLos siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
Véase también
| |||||||||||||||||||