-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueue.py
More file actions
53 lines (44 loc) · 1.1 KB
/
Queue.py
File metadata and controls
53 lines (44 loc) · 1.1 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class Queue:
def __init__(self,size) -> None:
self.size=size
self.queue=[None]*self.size
self.front,self.rear=0,0
def initilize(self):
self.front,self.rear=0,0
def insert(self,data):
if self.front==self.size:
raise Exception('Queue Full')
else:
self.queue[self.front]=data
self.front+=1
#self.printqueue()
def delete(self):
if self.rear==self.front:
raise Exception('Queue Empty')
else:
val=self.queue[self.rear]
self.rear+=1
#self.printqueue()
return val
@property
def isEmpty(self):
return self.rear==self.front
def printqueue(self):
print('[',end="")
for i in range(self.rear,self.front):
print(self.queue[i],end=" , ")
print(']')
if __name__=="__main__":
q=Queue(5)
q.insert(1)
q.insert(2)
q.insert(3)
q.insert(4)
q.insert(5)
q.insert(6)
q.delete()
q.delete()
q.delete()
q.delete()
q.delete()
q.delete()