Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <chrono>
- #include <random>
- int
- main(int argc, char **argv)
- {
- std::mt19937 gen;
- std::uniform_int_distribution<int> dist(0, 10);
- std::vector<int> arr(1000000);
- for (auto& item : arr) {
- item = dist(gen);
- }
- size_t total_time = 0;
- size_t count_times = 0;
- for (decltype(arr)::value_type num = 0; num <= 10; ++num) {
- const auto start_time = std::chrono::high_resolution_clock::now();
- count_times = 0;
- for (size_t iter = 0; iter < 100; ++iter) {
- count_times += std::count_if(std::begin(arr), std::end(arr), [&num](int elem){ return (elem < num);});
- }
- const auto end_time = std::chrono::high_resolution_clock::now();
- const auto t = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time).count();
- std::cout << num << " - " << t << "\n";
- total_time += t;
- }
- std::cout << "total_time = " << total_time << "\n";
- std::cout << "count_times = " << count_times << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement