Skip to content

Commit 26a5d70

Browse files
committedOct 19, 2022
Added queue using LL
1 parent 3e49e6e commit 26a5d70

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed
 

‎Queue.py

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Queue:
2+
arr = []
3+
def enqueue(self,item):
4+
self.arr.append(item)
5+
6+
def dequeue(self):
7+
if len(self.arr) > 0:
8+
ditem = self.arr[0]
9+
del self.arr[0]
10+
return ditem
11+
else:
12+
return #queue is empty
13+
14+
def dispaly(self):
15+
print(self.arr)
16+
17+
x = Queue() # Creating object of queue class
18+
x.enqueue(1)
19+
x.enqueue(2)
20+
x.dispaly() # arr = [1,2]
21+
x.dequeue() # Deleting the first element of the queue.
22+
x.dispaly() # arr = [2]
23+
print(x.dequeue()) # 2
24+
print(x.dequeue()) # None(because queue is already empty)

‎Queue_using_LL.py

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
class Node:
2+
def __init__(self, data = None):
3+
self.data = data
4+
self.next = None
5+
6+
class Queue:
7+
def __init__(self):
8+
self.head = None
9+
self.last = None
10+
11+
def enqueue(self, data):
12+
if not self.last:
13+
self.head = Node(data)
14+
self.last = self.head
15+
else:
16+
self.last.next = Node(data)
17+
self.last = self.last.next
18+
19+
def dequeue(self):
20+
if not self.head:
21+
return None
22+
val = self.head.data
23+
self.head = self.head.next
24+
return val
25+
26+
def display(self):
27+
temp = self.head
28+
while temp != None:
29+
print(temp.data)
30+
temp = temp.next
31+
32+
x = Queue() # Creating object of queue class
33+
x.enqueue(1) # Add 1 to the queue
34+
x.enqueue(2)# Add 2 to the queue
35+
x.display() # 1 => 2
36+
print(x.dequeue()) # Deleting the first element of the queue.
37+
x.display() # 2
38+
print(x.dequeue()) # 2
39+
print(x.dequeue()) # None(because queue is already empty)

0 commit comments

Comments
 (0)