-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue.py
More file actions
93 lines (81 loc) · 2.38 KB
/
Copy pathqueue.py
File metadata and controls
93 lines (81 loc) · 2.38 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
class Queue:
def __init__(self, limit=1):
self.que = []
self.rear = -1
self.front = -1
self.size = 0
self.limit = limit
def getSize(self):
return self.size
def enQueue(self,item):
if len(self.que) >= self.limit:
print 'Queue OverFlow'
return 0
else:
self.que.append(item)
self.size += 1
print 'enQueue :',[item.data for item in self.que]
print 'Total size of que',len(self.que)
if self.front == -1:
self.front = self.rear=0
#self.size +=1
else:
#self.size += 1
self.rear = self.getSize()
def deQueue(self):
if self.getSize() <= 0:
print "Queue UnderFlow"
return 0
else:
dequed = self.que.pop(0)
self.size -= 1
if self.getSize() == 0 :
self.front = self.rear = 0
else:
self.rear = self.getSize() -1
return dequed
def queueRear(self):
if self.isEmpty():
if self.rear == -1:
print "Queure Is Empty:"
return ""
return self.que[-1]
def queueFront(self):
if self.isEmpty():
if self.front == -1:
print "Queue Is Empty:"
return ""
return self.que[0]
def length(self):
return self.size
def isEmpty(self):
if self.getSize() <= 0:
return True
return False
if __name__ =="__main__":
que = Queue()
que.enQueue('first')
print 'Size :',que.getSize()
print "Front :"+que.queueFront()
print "Rear :"+que.queueRear()
que.enQueue('second')
print 'Size :',que.getSize()
print "Front :"+que.queueFront()
print "Rear :"+que.queueRear()
que.enQueue('third')
print 'Size :',que.getSize()
print "Front :"+que.queueFront()
print "Rear :"+que.queueRear()
print '-------------------------------'
que.deQueue()
print 'Size :',que.getSize()
print "Front :"+que.queueFront()
print "Rear :"+que.queueRear()
que.deQueue()
print 'Size :',que.getSize()
print "Front :"+que.queueFront()
print "Rear :"+que.queueRear()
que.deQueue()
print 'Size :',que.getSize()
print "Front :"+que.queueFront()
print "Rear :"+que.queueRear()