Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. #include "eps.h"
  2.  
  3. EPS::EPS() {
  4. zacetek = nullptr;
  5. konec = nullptr;
  6. size = 0;
  7. }
  8.  
  9. EPS::~EPS() {
  10. Element *x;
  11. while (zacetek != nullptr) {
  12. x = zacetek;
  13. zacetek = zacetek->getNext();
  14. delete x;
  15. }
  16. }
  17.  
  18. bool EPS::jePrazen() const {
  19. return (size == 0);
  20. }
  21.  
  22. void EPS::dodajNaZacetek(int kljuc) { // taa tee da turas element na pocetoko taka li ? da da
  23. Element *x = new Element(kljuc);
  24. x->setNext(zacetek);
  25. zacetek = x;
  26. size++;
  27. }
  28.  
  29. void EPS::dodajNaKonec(int kljuc) { // a taa ? da staas element na krajo (Y)
  30. Element *x = new Element(kljuc);
  31. konec->setNext(x);
  32. konec = x;
  33. size++;
  34. }
  35.  
  36. void EPS::odstraniPrvega() { // ostranas od pocetok
  37. Element *x = zacetek;
  38. zacetek = zacetek->getNext();
  39. delete x;
  40. size--;
  41. }
  42.  
  43. void EPS::odstraniZadnjega() { // ostrani go krajnio xD hahaha
  44. if (zacetek == konec) {
  45. delete zacetek;
  46. }
  47. else {
  48. Element *x = zacetek;
  49. while (x->getNext() != konec) {
  50. x = x->getNext();
  51. }
  52. delete konec;
  53. konec = x;
  54. }
  55. size--;
  56. }
  57.  
  58. int EPS::prvi() const {
  59. return zacetek->getValue();
  60. }
  61.  
  62. int EPS::zadnji() const {
  63. return konec->getValue();
  64. }
  65.  
  66. std::string EPS::toString() const {
  67. std::string s = std::to_string(zacetek->getValue());
  68. Element *x = zacetek->getNext();
  69. while (x != nullptr) {
  70. s = s + " " + std::to_string(x->getValue());
  71. x = x->getNext();
  72. }
  73. return s;
  74. }
  75.  
  76. void EPS::dodajUrejeno() {
  77. std::vector<int> v;
  78. Element *x = zacetek;
  79. while (x != nullptr) {
  80. v.push_back(x->getValue());
  81. x = x->getNext();
  82. }
  83. sort(v.begin(), v.end());
  84. x = zacetek;
  85. for (int i = 0; x != nullptr; i++) {
  86. x->setValue(v[i]); // tava warning li e ? da..
  87. }
  88. }
  89.  
  90. double EPS::povprecjeVseh() // taa e nasta okay
  91. {
  92. if (zacetek == nullptr)
  93. return 0;
  94.  
  95. Element * temp = zacetek;
  96. int count = 0;
  97. int sum = 0;
  98. while (temp != nullptr)
  99. {
  100. count++;
  101. sum += temp->getValue();
  102. zacetek = temp->getNext();
  103. }
  104.  
  105. return sum / count;
  106. }
  107.  
  108. void EPS::obrni()
  109. {
  110. if (zacetek != nullptr)
  111. {
  112. Element *temp = zacetek;
  113. Element *newNext = nullptr;
  114. Element *next;
  115.  
  116. while (temp != nullptr)
  117. {
  118. next = temp->getNext();
  119. temp->setNext(newNext);
  120. temp = next;
  121. }
  122. zacetek = newNext;
  123. }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement