diff --git a/Python/data-structures/Queue.py b/Python/data-structures/Queue.py new file mode 100644 index 0000000..374a872 --- /dev/null +++ b/Python/data-structures/Queue.py @@ -0,0 +1,21 @@ +class Queue: + def __init__(self): + self.items = [] + + def enqueue(self, item): + self.items.insert(0, item) + + def dequeue(self): + if self.is_empty(): + raise Exception("Queue is empty") + else: + return self.items.pop() + + def peek(self): + return self.items[-1] + + def size(self): + return len(self.items) + + def is_empty(self): + return self.items == [] diff --git a/Python/data-structures/examples.py b/Python/data-structures/examples.py new file mode 100644 index 0000000..6f15a6d --- /dev/null +++ b/Python/data-structures/examples.py @@ -0,0 +1,24 @@ +from Queue import Queue + +# ----------------- Queue ----------------- +q1 = Queue() + +# put elements in queue +q1.enqueue(42) +q1.enqueue(256) +q1.enqueue(6) + +# look at the top of the queue +print("Top element: ", q1.peek()) + +# use the top element +top = q1.dequeue() +print("Top element in variable: ", top) +print("Top element after using past top element: ", q1.peek()) + +print("Size of queue: ", q1.size()) +# we can just dequeue elements without using +q1.dequeue() +q1.dequeue() +print("Is queue empty now: ", q1.is_empty()) +