summaryrefslogtreecommitdiff
path: root/_legacy/adt-queue/queue.py
diff options
context:
space:
mode:
Diffstat (limited to '_legacy/adt-queue/queue.py')
-rw-r--r--_legacy/adt-queue/queue.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/_legacy/adt-queue/queue.py b/_legacy/adt-queue/queue.py
new file mode 100644
index 0000000..98297b3
--- /dev/null
+++ b/_legacy/adt-queue/queue.py
@@ -0,0 +1,35 @@
+queue = [None for index in range(0, 10)]
+frontPointer = 0
+rearPointer = -1
+queueLength = 0
+queueFull = 10
+def dequeue():
+ global queue, queueLength, queueFull, rearPointer, frontPointer
+ if queueLength == 0:
+ print("ERR:: Cannot dequeue an empty queue!")
+ return
+ item = queue[frontPointer]
+ queue[frontPointer] = None
+ frontPointer += 1
+ print(f"Dequeued element {item}")
+ return
+
+def enqueue(item):
+ global queue, queueLength, queueFull, rearPointer
+ if queueLength < queueFull:
+ if rearPointer < len(queue) - 1:
+ rearPointer += 1
+ else:
+ rearPointer = 0
+ queueLength += 1
+ queue[rearPointer] = item
+ print(queue)
+ return
+ print("ERROR queue length exceeded!")
+ return
+for i in range(13):
+ enqueue(10 * i)
+dequeue()
+dequeue()
+dequeue()
+print(queue)