Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2014
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <chrono>
  5. #include <random>
  6.  
  7. int
  8. main(int argc, char **argv)
  9. {
  10.     std::mt19937 gen;
  11.     std::uniform_int_distribution<int> dist(0, 10);
  12.     std::vector<int> arr(1000000);
  13.     for (auto& item : arr) {
  14.         item = dist(gen);
  15.     }
  16.    
  17.     size_t total_time = 0;
  18.     size_t count_times = 0;
  19.     for (decltype(arr)::value_type num = 0; num <= 10; ++num) {
  20.         const auto start_time = std::chrono::high_resolution_clock::now();
  21.         count_times = 0;
  22.         for (size_t iter = 0; iter < 100; ++iter) {
  23.             count_times += std::count_if(std::begin(arr), std::end(arr), [&num](int elem){ return (elem < num);});
  24.         }
  25.         const auto end_time = std::chrono::high_resolution_clock::now();
  26.         const auto t = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time).count();
  27.         std::cout << num << " - " << t << "\n";
  28.         total_time += t;
  29.     }
  30.     std::cout << "total_time  = " << total_time << "\n";
  31.     std::cout << "count_times = " << count_times << "\n";
  32.  
  33.     return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement