diff options
author | Patrick Simianer <p@simianer.de> | 2014-06-14 16:46:27 +0200 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2014-06-14 16:46:27 +0200 |
commit | 26c490f404731d053a6205719b6246502c07b449 (patch) | |
tree | 3aa721098f1251dfbf2249ecd2736434c13b1d48 /ccc/sort.cc |
init
Diffstat (limited to 'ccc/sort.cc')
-rw-r--r-- | ccc/sort.cc | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ccc/sort.cc b/ccc/sort.cc new file mode 100644 index 0000000..165b086 --- /dev/null +++ b/ccc/sort.cc @@ -0,0 +1,47 @@ +#include <iostream> +#include <algorithm> +#include <utility> +#include <vector> + +using namespace std; + + +struct X +{ + pair<string,int> p; +}; + +bool myf(X a, X b) +{ + return a.p.second > b.p.second; +} + +int main(void) +{ + X a; + a.p.first = "a"; + a.p.second = 1; + + X b; + b.p.first = "b"; + b.p.second = 2; + + X c; + c.p.first = "c"; + c.p.second = 3; + + vector<X> v; + v.push_back(a); + v.push_back(b); + v.push_back(c); + + for (unsigned i = 0; i < v.size(); i++) { + cout << v[i].p.first << endl; + } + sort(v.begin(), v.end(), myf); + cout << endl; + for (unsigned i = 0; i < v.size(); i++) { + cout << v[i].p.first << endl; + } +} + |