-
Notifications
You must be signed in to change notification settings - Fork 0
/
Queue.py
34 lines (28 loc) · 856 Bytes
/
Queue.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Queue:
#Implementing queue using linked lists.
def __init__(self):
self.first=None
self.last=None
self.length=0
def enqueue(self,value):
newNode={'value':value, 'next':None}
if self.length == 0:
self.first=newNode
self.last=self.first
else:
self.last['next']=newNode
self.last=newNode
self.length+=1
return self.first
def dequeue(self):
if self.length == 0:
return None
if self.first==self.last:
self.last=None
holdingNode=self.first
self.first=self.first['next']
print('Value removed :' + holdingNode['value'])
self.length-=1
return self.first
def peek(self):
return self.first['value']