Sorting a List of Integers in Ascending and Descending Order : list sort « list « C++ Tutorial






#include <list>
#include <iostream>

using namespace std;

void PrintListContents (const list <int>& listInput);
bool SortPredicate_Descending (const int& lsh, const int& rsh);

int main ()
{
    std::list <int> listIntegers;

    // Insert elements at the beginning...
    listIntegers.push_front (4);
    listIntegers.push_front (3);
    listIntegers.push_front (2);

    listIntegers.push_front (-1);
    listIntegers.push_front (0);

    listIntegers.push_back (-5);

    cout << "Initial contents of the list are - " << endl;
    PrintListContents (listIntegers);

    listIntegers.sort ();

    cout << "Order of elements after sort():" << endl;
    PrintListContents (listIntegers);

    listIntegers.sort (SortPredicate_Descending);
    cout << "Order of elements after sort() with a predicate:" << endl;

    PrintListContents (listIntegers);

    return 0;
}

void PrintListContents (const list <int>& listInput){
    if (listInput.size () > 0){
        std::list <int>::const_iterator i;
        for ( i = listInput.begin (); i != listInput.end (); ++ i )
            cout << *i << endl;
    }
    else
        cout << "List is empty!" << endl;
}

bool SortPredicate_Descending (const int& lsh, const int& rsh)
{
    return (rsh < lsh);
}








17.14.list sort
17.14.1.Sort a list
17.14.2.sort objects in a list
17.14.3.sort list with user-defined objects with greater
17.14.4.Sorting a List of Integers in Ascending and Descending Order
17.14.5.Sorting user-defined objects in list by its properties
17.14.6.list.sort()