Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. std::multiset<classA , classA ::SortClass> mydata;
  2.  
  3. class SortClass
  4. {
  5. public:
  6. bool operator() (const classA &pt1, const classA &pt2)
  7. {
  8. if(pt1.a < pt2.a)
  9. {
  10. if(abs(pt1.a-pt2.a) < 0.01)
  11. {
  12. if(pt1.b > pt2.b)
  13. return true;
  14. else
  15. return false;
  16. }
  17. else
  18. return true;
  19. }
  20. else
  21. return false;
  22. }
  23. };
  24.  
  25. #include <iostream>
  26. #include <set>
  27. using namespace std;
  28.  
  29.  
  30. class classA
  31. {
  32. protected:
  33. double m_b;
  34. double m_a;
  35.  
  36. public:
  37. double get_b() {return m_b;}
  38. double get_a() {return m_a;}
  39. void set_b(double b) {m_b = b;}
  40. void set_a(double a) {m_a = a;}
  41.  
  42. class SortClass
  43. {
  44. public:
  45. bool operator() (const classA &pt1, const classA &pt2)
  46. {
  47. if(pt1.m_a < pt2.m_a)
  48. {
  49. if(pt2.m_a - pt1.m_a == 0)
  50. return (pt1.m_b > pt2.m_b);
  51. else
  52. return (pt1.m_a < pt2.m_a);
  53. }
  54. else
  55. return false;
  56. }
  57. };
  58. };
  59. int main()
  60. {
  61.  
  62. std::multiset<classA, classA::SortClass> mydata;
  63. classA objA;
  64. for(int i=0; i<100;i++)
  65. {
  66. objA.set_a(rand() %100);
  67. objA.set_b(rand() %10);
  68. mydata.insert(objA);
  69. }
  70.  
  71. return 0;
  72. }
  73.  
  74. bool sortClassA (const classA &pt1, const classA &pt2)
  75. {
  76. if(pt2.m_a == pt1.m_a) {
  77. return pt1.m_b > pt2.m_b;
  78. }
  79. return pt1.m_a > pt2.m_a;
  80. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement