-
Notifications
You must be signed in to change notification settings - Fork 0
/
Queue_prac.py
44 lines (31 loc) · 849 Bytes
/
Queue_prac.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
35
36
37
38
39
40
41
42
43
44
# Enqueue from rear, dequeue from front.
class queue:
def __init__(self, capacity):
self.front = 0
self.rear = capacity - 1
self.size = 0
self.capacity = capacity
self.Q = [None] * capacity
def isFull(self):
return self.size == self.capacity
def isEmpty(self):
return self.size == 0
def Enqueue(self, item):
self.rear = (self.rear + 1) % self.capacity
self.Q[self.rear] = item
self.size += 1
def Dequeue(self):
self.front = (self.front + 1) % self.capacity
self.size -= 1
def q_front(self):
return self.Q[self.front]
def q_rear(self):
return self.Q[self.rear]
queue = queue(30)
queue.Enqueue(10)
queue.Enqueue(20)
queue.Enqueue(30)
queue.Enqueue(40)
queue.Dequeue()
queue.q_front()
queue.q_rear()