main.cpp 1000 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "CircleList.h"
  2. #include <time.h>
  3. using namespace std;
  4. void iosif(int count, int step)
  5. {
  6. clock_t start = clock();
  7. CircleList<int> l;
  8. for(int i = 0; i < count; i++) {
  9. l.add(i);
  10. }
  11. int i = 0;
  12. Node<int>* currentNode = l.get_start();
  13. while(l.lenght > 1)
  14. {
  15. if(i % step == 0) {
  16. l.pop(currentNode);
  17. }
  18. currentNode = currentNode->next;
  19. i++;
  20. }
  21. clock_t end = clock();
  22. double sec = (double)(end - start) / CLOCKS_PER_SEC;
  23. cout << "time: " << sec << " answer: " << l[0] << endl;
  24. }
  25. int main() {
  26. CircleList<int> l;
  27. for(int i = 0; i < 10; i++) {
  28. l.add(i);
  29. }
  30. cout << l << endl;
  31. l.add(3, 3);
  32. cout << l << endl;
  33. l.add(5);
  34. cout << l << endl;
  35. l.pop();
  36. cout << l << endl;
  37. l.pop(2);
  38. cout << l << endl;
  39. iosif(1000, 3);
  40. iosif(5000, 3);
  41. iosif(10000, 3);
  42. iosif(50000, 3);
  43. iosif(100000, 3);
  44. iosif(500000, 3);
  45. iosif(1000000, 3);
  46. }