class Queue: def __init__(self): self.s = SinglyLinkedList() def enqueue(self, value): self.s.insert_last(value) def dequeue(self): return self.s.delete_start() def print_queue(self): self.s.print_linklist() def is_empty(self): if self.s.size == 0: return True return False def __len__(self): return self.s.size def peek(self): if self.is_empty(): print("Queue is empty") return return self.s.head.data
class Stack: def __init__(self): self.s = SinglyLinkedList() def push(self, value): self.s.insert_start(value) def pop(self): return self.s.delete_start() def print_stack(self): self.s.print_linklist() def is_empty(self): if self.s.size == 0: return True return False def __len__(self): return self.s.size def peek(self): if self.is_empty(): print("Stack is empty") return return self.s.head.data