bool DLList::get(int target) const{ DLNode* node = head; bool isPresent = false; while(node->getNextNode() != NULL){ if(node->getContents() == target){ isPresent = true; } node->setNextNode(node->getNextNode()); } return isPresent; }
void DLList::pushBack(int newContents){ if(head == NULL){ pushFront(newContents); } else{ DLNode* node = new DLNode(newContents); DLNode* b = head; while(b->getNextNode() != NULL){ b = b->getNextNode(); } b->setNextNode(node); size++; } }
void DLList::popBack(){ if(head != NULL) { if(head->getNextNode() == NULL){ popFront(); } else{ DLNode* b = head; DLNode* previous = b; while(b->getNextNode() != NULL){ previous = b; b = b->getNextNode(); } delete b; previous->setNextNode(NULL); size--; } } }
bool DLList::removeFirst(int target){ if(get(target) == true){ DLNode* b = head; DLNode* previous = b; while(b->getContents() != target){ previous = b; b = b->getNextNode(); } if(b->getNextNode() != NULL){ previous->setNextNode(b->getNextNode()); delete b; } else{ delete b; previous->setNextNode(NULL); } size--; } }