In this post, I would like to show how to create a tuple object in C++ 11 and how to sort tuples.
Here is the code for creating tuples and doing the sort. It is pretty straightforward.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> #include <string> #include <vector> #include <tuple> #include <algorithm> using namespace std; typedef tuple<string,double,int> mytuple; bool mycompare (const mytuple &lhs, const mytuple &rhs){ return get<1>(lhs) < get<1>(rhs); } int main(void){ vector<mytuple> data; data.push_back(make_tuple("abc",4.5,1)); data.push_back(make_tuple("def",5.5,-1)); data.push_back(make_tuple("wolf",-3.47,1)); sort(data.begin(),data.end(),mycompare); for(vector<mytuple>::iterator iter = data.begin(); iter != data.end(); iter++){ cout << get<0>(*iter) << "\t" << get<1>(*iter) << "\t" << get<2>(*iter) << endl; } } |
The code is successfully compiled by G++ 4.6.1 with the option “-std=gnu++0x”.
Thank you soooo much, this helped me a lot
Thank you very much, exactly what I need 😀