std::list::sort en C++ STL

Las listas son contenedores utilizados en C++ para almacenar datos de forma no contigua. Normalmente, las arrays y los vectores son de naturaleza contigua, por lo que las operaciones de inserción y eliminación son más costosas en comparación con la opción de inserción y eliminación en las listas.

lista::ordenar()

La función sort() se usa para ordenar los elementos del contenedor cambiando sus posiciones.

Sintaxis:

listname.sort()
Parameters :
No parameters are passed.
Result :
The elements of the container
are sorted in ascending order.

Ejemplos:

Input  : mylist{1, 5, 3, 2, 4};
         mylist.sort();
Output : 1, 2, 3, 4, 5

Input  : mylist{"hi", "bye", "thanks"};
         mylist.sort();
Output : bye, hi, thanks

Errores y excepciones

1. Tiene una garantía básica de tiro sin excepción.
2. Muestra error cuando se pasa un parámetro.

// SORTING INTEGERS
// CPP program to illustrate
// Implementation of sort() function
#include <iostream>
#include <list>
using namespace std;
  
int main()
{
    // list declaration of integer type
    list<int> mylist{ 1, 5, 3, 2, 4 };
  
    // sort function
    mylist.sort();
  
    // printing the list after sort
    for (auto it = mylist.begin(); it != mylist.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción:

1 2 3 4 5
// SORTING STRINGS
// CPP program to illustrate
// Implementation of sort() function
#include <iostream>
#include <list>
#include <string>
using namespace std;
  
int main()
{
    // list declaration of string type
    list<string> mylist{ "hi", "bye", "thanks" };
  
    // sort function
    mylist.sort();
  
    // printing the list after sort
    for (auto it = mylist.begin(); it != mylist.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción:

bye hi thanks

Complejidad de tiempo: O (nlogn)

Función similar: Ordenar en C++ STL

Publicación traducida automáticamente

Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *