vectlist.cpp 1017 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <iostream>
  2. #include <vector>
  3. #include <list>
  4. #include <cmath>
  5. #include <ctime>
  6. #include <cstdlib>
  7. #include <algorithm>
  8. int main()
  9. {
  10. using namespace std;
  11. int n_elem;
  12. cout << "Enter number of elements: ";
  13. cin >> n_elem;
  14. vector<int> vi0(n_elem);
  15. for (auto pv = vi0.begin(); pv != vi0.end(); pv++)
  16. *pv = rand();
  17. vector<int> vi(vi0);
  18. clock_t start = clock();
  19. sort(vi.begin(), vi.end());
  20. clock_t end = clock();
  21. cout.precision(3);
  22. cout << (double)(end - start)/CLOCKS_PER_SEC;
  23. cout << " = elapsed time\n";
  24. list<int> li(vi.size());
  25. copy(vi0.begin(), vi0.end(), li.begin());
  26. list<int> licp(li);
  27. start = clock();
  28. li.sort();
  29. end = clock();
  30. cout << (double)(end - start)/CLOCKS_PER_SEC;
  31. cout << " = elapsed time\n";
  32. start = clock();
  33. copy(licp.begin(), licp.end(), vi.begin());
  34. sort(vi.begin(), vi.end());
  35. copy(vi.begin(), vi.end(), licp.begin());
  36. end = clock();
  37. cout << (double)(end - start)/CLOCKS_PER_SEC;
  38. cout << " = elapsed time\n";
  39. cout << "done\n";
  40. // cin.get();
  41. return 0;
  42. }