Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. std::vector<int> SlowSolution(const int& number_of_lists, const int& lists_length, const VectorData& data) {
  2.     std::vector<int> result;
  3.     result.reserve(number_of_lists * lists_length);
  4.  
  5.     for (const auto& list: data) {
  6.         for (const auto& element: list)
  7.             result.push_back(element);
  8.     }
  9.  
  10.     std::sort(result.begin(), result.end());
  11.  
  12.     return result;
  13. }
  14.  
  15. void StressTests() {
  16.     int number_of_iterations = 100;
  17.     for (int it = 0; it < number_of_iterations; ++it) {
  18.         int number_of_lists = rand() % 100 + 1;
  19.         int list_size = rand() % 1000 + 1;
  20.         std::vector<std::vector<int>> data(number_of_lists);
  21.  
  22.         for (size_t index = 0; index < number_of_lists; ++index) {
  23.             std::vector<int> result;
  24.             result.reserve(list_size);
  25.  
  26.             for (int index = 0; index < list_size; ++index) {
  27.                 result.push_back(rand() % 1000);
  28.             }
  29.  
  30.             std::sort(result.begin(), result.end());
  31.  
  32.             data[index] = result;
  33.         }
  34.  
  35.         std::vector<int> okResult = SlowSolution(number_of_lists, list_size, data);
  36.         std::vector<int> myResult = SolutionWithHeap(number_of_lists, list_size, data);
  37.  
  38.         if (okResult != myResult) {
  39.             std::cout << "number_of_lists = " << number_of_lists << ", list_size = " << list_size << "\nOk result: ";
  40.             for (const auto &element: okResult) {
  41.                 std::cout << element << " ";
  42.             }
  43.             std::cout << "\nMy result: ";
  44.             for (const auto &element: myResult) {
  45.                 std::cout << element << " ";
  46.             }
  47.             std::cout << "\n";
  48.         }
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement