Advertisement
Lavig

Другий семестр. Лабораторна робота №19 (основна програма)

Jun 1st, 2025
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <vector>
  4. #include <chrono>
  5. #include "sort_algorithms.h"
  6.  
  7. void measureSortTime(void (*sortFunc)(std::vector<int>&, int, int), std::vector<int>& data) {
  8.     auto start = std::chrono::high_resolution_clock::now();
  9.     sortFunc(data, 0, data.size() - 1);
  10.     auto stop = std::chrono::high_resolution_clock::now();
  11.     auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
  12.     std::cout << "Час виконання: " << duration.count() << " мікросекунд" << std::endl;
  13. }
  14.  
  15. std::vector<int> RandomVector(int size) {
  16.     std::vector<int> vec(size);
  17.     for (int i = 0; i < size; i++) {
  18.         vec[i] = std::rand() % 10001;
  19.     }
  20.     return vec;
  21. }
  22.  
  23. int main() {
  24.     SetConsoleCP(1251);
  25.     SetConsoleOutputCP(1251);
  26.     std::srand(unsigned int(std::time(0)));
  27.     std::vector<int> sizes = { 50, 500, 5000, 50000, };
  28.     for (int i = 0; i < sizes.size(); i++) {
  29.         int size = sizes[i];
  30.         std::cout << std::endl << "Розмір вектора: " << size << " елементів" << std::endl;
  31.         std::vector<int> originalData = RandomVector(size);
  32.         std::vector<int> data = originalData;
  33.         std::cout << "QuickSort: ";
  34.         measureSortTime(quickSort, data);
  35.         data = originalData;
  36.         std::cout << "MergeSort: ";
  37.         measureSortTime(mergeSort, data);
  38.         data = originalData;
  39.         std::cout << "BubbleSort: ";
  40.         measureSortTime(bubbleSort, data);
  41.         data = originalData;
  42.         std::cout << "InsertionSort: ";
  43.         measureSortTime(insertionSort, data);
  44.         data = originalData;
  45.         std::cout << "SelectionSort: ";
  46.         measureSortTime(selectionSort, data);
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement