#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);
}
|