Advertisement
illfate

Untitled

Apr 3rd, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. void Stack<T>::Delete() {
  2. Node *current= head, *prev= head, *next_= head;
  3.  
  4. while(head && head->value % 2 == 0) {
  5. pop();
  6. }
  7.  
  8. size_t counter = 0;
  9. for (size_t i = 0; i <= size_-1; i++)
  10. {
  11. if ((current->value) % 2 == 0)
  12. {
  13. if (current->next == nullptr)
  14. {
  15.  
  16. delete current;
  17. counter++;
  18. current = prev; next_ = nullptr;
  19. prev->next = nullptr;
  20. break;
  21. }
  22.  
  23.  
  24. next_ = current->next;
  25. delete current;
  26. counter++;
  27. prev->next = next_;
  28. current = prev->next;
  29. }
  30. else {
  31.  
  32. if (next_ == nullptr)
  33. break;
  34. if (next_->next == nullptr) {
  35. current = next_;
  36. prev = current;
  37. current->next = nullptr;
  38. break;
  39. }
  40. prev = current;
  41. current = current->next;
  42. next_ = current->next;
  43. }
  44. }
  45.  
  46. size_ = size_ - counter;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement