From 71192786700abc6dafbad1d07cfc99b37956208e Mon Sep 17 00:00:00 2001 From: Vedant122003 Date: Mon, 30 Jun 2025 19:42:03 +0530 Subject: [PATCH] my contribution is queue using recursion --- queueusingrecursion.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 queueusingrecursion.py diff --git a/queueusingrecursion.py b/queueusingrecursion.py new file mode 100644 index 00000000..2f227dec --- /dev/null +++ b/queueusingrecursion.py @@ -0,0 +1,36 @@ +class Queue: + def __init__(self): + self.items = [] + + def enqueue(self, item): + self.items.append(item) + + def dequeue(self): + if not self.items: + return None + return self._dequeue_recursive(0) + + def _dequeue_recursive(self, index): + if index == len(self.items) - 1: + return self.items.pop(0) + self.items[index] = self.items[index + 1] + return self._dequeue_recursive(index + 1) + + def peek(self): + if not self.items: + return None + return self.items[0] + + def is_empty(self): + return len(self.items) == 0 + + def display(self): + print(self.items) + +q = Queue() +q.enqueue(1) +q.enqueue(2) +q.enqueue(3) +q.display() +print(q.dequeue()) +q.display()