fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. using namespace std;
  5. class Noisy
  6. {
  7. public:
  8. Noisy(const int & id): m_id(id)
  9. {
  10. }
  11.  
  12. Noisy(const Noisy & obj)
  13. {
  14. m_id = obj.m_id;
  15. }
  16.  
  17. virtual ~Noisy()
  18. {
  19. }
  20.  
  21. bool operator<(const Noisy & obj) const
  22. {
  23. return m_id < obj.m_id;
  24. }
  25.  
  26. friend ostream & operator <<(ostream & os, const Noisy & obj)
  27. {
  28. return os << "Noisy " << obj.m_id;
  29. }
  30.  
  31. private:
  32. int m_id;
  33. };
  34.  
  35. int main() {
  36. vector<Noisy> tab;
  37. for(size_t i = 0; i < 10; ++i){
  38. tab.emplace_back(i);
  39. }
  40. for(auto el: tab) cout << el << " "; cout << endl;
  41. random_shuffle(begin(tab), end(tab));
  42. for(auto el: tab) cout << el << " "; cout << endl;
  43. sort(begin(tab), end(tab));
  44. for(auto el: tab) cout << el << " "; cout << endl;
  45. return 0;
  46. }
Success #stdin #stdout 0s 3416KB
stdin
Standard input is empty
stdout
Noisy 0 Noisy 1 Noisy 2 Noisy 3 Noisy 4 Noisy 5 Noisy 6 Noisy 7 Noisy 8 Noisy 9 
Noisy 4 Noisy 3 Noisy 7 Noisy 8 Noisy 0 Noisy 5 Noisy 2 Noisy 1 Noisy 6 Noisy 9 
Noisy 0 Noisy 1 Noisy 2 Noisy 3 Noisy 4 Noisy 5 Noisy 6 Noisy 7 Noisy 8 Noisy 9