std::forward_list::sort() en C++ STL

La lista de reenvío en STL implementa una lista enlazada individualmente. Introducido desde C++ 11, la lista de reenvío es más útil que otros contenedores en las operaciones de inserción, eliminación y movimiento (como ordenar) y permite la inserción y eliminación constante de elementos en el tiempo. Se diferencia de la lista por el hecho de que la lista de reenvío realiza un seguimiento de la ubicación de solo el siguiente elemento, mientras que la lista realiza un seguimiento de los elementos siguientes y anteriores.
 

reenviar_lista::ordenar()

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

1.    forwardlistname.sort()
    Parameters :
    No parameters are passed.
    Result :
    The elements of the container
    are sorted in ascending order.
2.    forwardlistname.sort(predicate)
    Parameters :
    predicate is used to define your own custom sorting function,
    it will return boolean output
    Result :
    The elements of the container 
    sorted in the order as per predicate function

Ejemplos: 
 

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

Input  : myflist{"This","is","Geeksforgeeks"};
         myflist.sort();
Output : Geekforgeeks, This, is

Errores y excepciones
1. Tiene una garantía básica de lanzamiento sin excepción. 

CPP

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

Producción: 
 

1 2 3 4 5

CPP

// SORTING STRINGS
// CPP program to illustrate
// Implementation of sort() function
#include <iostream>
#include <forward_list>
#include <string>
using namespace std;
 
int main()
{
    // forward list declaration of string type
    forward_list<string> myflist{"This","is","Geeksforgeeks"};
     
    // sort function
    myflist.sort();
     
    // printing the forward list after sort
    for (auto it = myflist.begin(); it != myflist.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción: 
 

Geeksforgeeks This is

Complejidad de tiempo: O (nlogn) 
 

C++

// SORTING STRINGS USING CUSTOM COMPARATOR FUNCTION
// CPP program to illustrate
// Implementation of sort() function
#include <iostream>
#include <forward_list>
#include <string>
using namespace std;
 
bool comparator(string a, string b) {
    return a.length() <= b.length();
}
 
int main()
{
    // forward list declaration of string type
    forward_list<string> myflist{"This","is","Geeksforgeeks"};
     
    // sort function
    myflist.sort(comparator);
     
    // printing the forward list after sort
    for (auto it = myflist.begin(); it != myflist.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción :

is This Geeksforgeeks

Complejidad del tiempo – O(nlog(n))

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 *