Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <windows.h>
- #include <vector>
- #include <chrono>
- #include "sort_algorithms.h"
- void measureSortTime(void (*sortFunc)(std::vector<int>&, int, int), std::vector<int>& data) {
- auto start = std::chrono::high_resolution_clock::now();
- sortFunc(data, 0, data.size() - 1);
- auto stop = std::chrono::high_resolution_clock::now();
- auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
- std::cout << "Час виконання: " << duration.count() << " мікросекунд" << std::endl;
- }
- std::vector<int> RandomVector(int size) {
- std::vector<int> vec(size);
- for (int i = 0; i < size; i++) {
- vec[i] = std::rand() % 10001;
- }
- return vec;
- }
- int main() {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- std::srand(unsigned int(std::time(0)));
- std::vector<int> sizes = { 50, 500, 5000, 50000, };
- for (int i = 0; i < sizes.size(); i++) {
- int size = sizes[i];
- std::cout << std::endl << "Розмір вектора: " << size << " елементів" << std::endl;
- std::vector<int> originalData = RandomVector(size);
- std::vector<int> data = originalData;
- std::cout << "QuickSort: ";
- measureSortTime(quickSort, data);
- data = originalData;
- std::cout << "MergeSort: ";
- measureSortTime(mergeSort, data);
- data = originalData;
- std::cout << "BubbleSort: ";
- measureSortTime(bubbleSort, data);
- data = originalData;
- std::cout << "InsertionSort: ";
- measureSortTime(insertionSort, data);
- data = originalData;
- std::cout << "SelectionSort: ";
- measureSortTime(selectionSort, data);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement