class Stack(IStack): def __init__(self, capacity: int = 10): self.array = Array(capacity) def get_size(self) -> int: return self.array.get_size() def is_empty(self) -> bool: return self.array.is_arr_empty() def pop(self) -> Any: return self.array.remove_last_element() def push(self, element: Any): return self.array.add_last_element(element) def peek(self) -> Any: return self.array.get_last_element()
class Queue(IQueue): def __init__(self, capacity: int = 10): self.array = Array(capacity) def get_size(self) -> int: return self.array.get_size() def is_empty(self) -> bool: return self.array.is_arr_empty() def dequeue(self) -> Any: return self.array.remove_first_element() def enqueue(self, element: Any): self.array.add_last_element(element) def get_front(self) -> Any: return self.array.get_first_element()