Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <random>
- #include <ctime>
- #include <fstream>
- #include "les1.h"
- vector<elem> rand_arr(int n) {
- vector<elem> v(n);
- srand(time(NULL));
- for (int i = 0; i < n; ++i)
- v[i] = rand() % 10000;
- return v;
- }
- template<typename It>
- void choice_sort(It begin, It end) {
- for (auto it = begin; it != end; ++it) {
- It min = it;
- for (auto it2 = it + 1; it2 != end; ++it2)
- if (*it2 < *min)
- min = it2;
- if (min != it)
- swap(*it, *min);
- }
- }
- int main() {
- vector<elem> w{ 1, 3, 5, 7, 8, 23 };
- ofstream ofs("task1.csv");
- ofs << "name;elements;time(sec);equalents;copys" << endl;
- for (int i = 2000; i <= 8000; i += 2000) {
- auto r = rand_arr(i);
- vector<elem> v = r;
- vector<elem> v2 = r;
- elem::ccop = 0;
- time_t start1 = clock();
- sort(v.begin(), v.end());
- ofs << "sort;" << i << ';' << double(clock() - start1) / CLOCKS_PER_SEC << ';'<< elem::ccop << ';' << elem::ceqv << ';' << endl;
- elem::ceqv = 0;
- elem::ccop = 0;
- time_t start2 = clock();
- choice_sort(v2.begin(), v2.end());
- ofs << "ch_sort;"<<i << ';'<< double(clock() - start2) / CLOCKS_PER_SEC << ';' << elem::ccop << ';' << elem::ceqv << ';' << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement