Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::multiset<classA , classA ::SortClass> mydata;
- class SortClass
- {
- public:
- bool operator() (const classA &pt1, const classA &pt2)
- {
- if(pt1.a < pt2.a)
- {
- if(abs(pt1.a-pt2.a) < 0.01)
- {
- if(pt1.b > pt2.b)
- return true;
- else
- return false;
- }
- else
- return true;
- }
- else
- return false;
- }
- };
- #include <iostream>
- #include <set>
- using namespace std;
- class classA
- {
- protected:
- double m_b;
- double m_a;
- public:
- double get_b() {return m_b;}
- double get_a() {return m_a;}
- void set_b(double b) {m_b = b;}
- void set_a(double a) {m_a = a;}
- class SortClass
- {
- public:
- bool operator() (const classA &pt1, const classA &pt2)
- {
- if(pt1.m_a < pt2.m_a)
- {
- if(pt2.m_a - pt1.m_a == 0)
- return (pt1.m_b > pt2.m_b);
- else
- return (pt1.m_a < pt2.m_a);
- }
- else
- return false;
- }
- };
- };
- int main()
- {
- std::multiset<classA, classA::SortClass> mydata;
- classA objA;
- for(int i=0; i<100;i++)
- {
- objA.set_a(rand() %100);
- objA.set_b(rand() %10);
- mydata.insert(objA);
- }
- return 0;
- }
- bool sortClassA (const classA &pt1, const classA &pt2)
- {
- if(pt2.m_a == pt1.m_a) {
- return pt1.m_b > pt2.m_b;
- }
- return pt1.m_a > pt2.m_a;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement