Assignment 3 DSA
Assignment 3 DSA
DSA
Node* head;
Node* tail;
int size;
public:
//CONSTRUCTOR
DoublyLinkedList() : head(nullptr), tail(nullptr), size(0) {}
//DESTRUCTOR
~DoublyLinkedList() {
clear();
}
if (current->prev) {
current->prev->next = current->next;
} else {
head = current->next;
}
if (current->next) {
current->next->prev = current->prev;
} else {
tail = current->prev;
}
delete current;
--size;
}
}
void pop() {
removeAt(getSize() - 1);
}
int main() {
// DoublyLinkedList DEMONSTRTION
DoublyLinkedList myList;
myList.insert(10);
myList.insert(20);
myList.insert(30);
// Stack DEMONSTRTION
Stack myStack;
myStack.push(10);
myStack.push(20);
myStack.push(30);
std::cout << "Stack (Top to Bottom): ";
while (!myStack.isEmpty()) {
std::cout << myStack.peek() << " ";
myStack.pop();
}
std::cout << "\n\n";
// Queue DEMONSTRATION
Queue myQueue;
myQueue.enqueue(10);
myQueue.enqueue(20);
myQueue.enqueue(30);
return 0;
}
OUTPUT:
List: 10 20 30