Last active
December 11, 2015 09:38
-
-
Save southp/d22814125100eb7e5a99 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// courtesy of cppreference | |
// http://en.cppreference.com/w/cpp/algorithm/sort | |
#include <algorithm> | |
#include <functional> | |
#include <array> | |
#include <iostream> | |
int main() | |
{ | |
std::array<int, 10> s = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; | |
// sort using the default operator< | |
std::sort(s.begin(), s.end()); | |
for (int a : s) { | |
std::cout << a << " "; | |
} | |
std::cout << '\n'; | |
// sort using a standard library compare function object | |
std::sort(s.begin(), s.end(), std::greater<int>()); | |
for (int a : s) { | |
std::cout << a << " "; | |
} | |
std::cout << '\n'; | |
// sort using a custom function object | |
struct { | |
bool operator()(int a, int b) | |
{ | |
return a < b; | |
} | |
} customLess; | |
std::sort(s.begin(), s.end(), customLess); | |
for (int a : s) { | |
std::cout << a << " "; | |
} | |
std::cout << '\n'; | |
// sort using a lambda expression | |
std::sort(s.begin(), s.end(), [](int a, int b) { | |
return b < a; | |
}); | |
for (int a : s) { | |
std::cout << a << " "; | |
} | |
std::cout << '\n'; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment