Skip to content

Commit 5a99356

Browse files
author
Bakhtiyor Ruziev
committed
Add queue data structure
1 parent ef55879 commit 5a99356

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

data_structures/queue/queue.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Queue:
2+
"""
3+
Queue is an abstract data structure, somewhat similar to Stacks.
4+
Unlike stacks, a queue is open at both its ends. One end is always used to insert data (enqueue)
5+
and the other is used to remove data (dequeue).
6+
Queue follows First-In-First-Out methodology, i.e., the data item stored first will be accessed first.
7+
8+
"""
9+
10+
def __init__(self):
11+
self.entries = []
12+
self.length = 0
13+
self.front = 0
14+
15+
def put(self, item):
16+
self.entries.append(item)
17+
self.length += 1
18+
19+
def get(self):
20+
self.length -= 1
21+
de_queued = self.entries[self.front]
22+
self.entries = self.entries[1:]
23+
return de_queued
24+
25+
def rotate(self, rotation):
26+
for i in range(rotation):
27+
self.put(self.get())
28+
29+
def size(self):
30+
return self.length

0 commit comments

Comments
 (0)