#include <iostream> #include <vector> #include <algorithm> using namespace std; struct StructTerm { int TermID; float Occurency; }; typedef vector<StructTerm> TERMS; class Comparer { public: bool operator () (const StructTerm & va1, const StructTerm & va2) { return va1.Occurency > va2.Occurency; } }; int main() { TERMS terms; StructTerm s; s.TermID = 1; s.Occurency = 0.8; terms.push_back(s); s.TermID = 2; s.Occurency = 0.6; terms.push_back(s); s.TermID = 2000; s.Occurency = 0.68; terms.push_back(s); sort(terms.begin(), terms.end(), Comparer()); for(int i = 0; i < terms.size(); ++i) { cout << terms[i].TermID << " "; } cout << endl; }