forked from kokonior/Python-Projects
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueue-Implementation.py
More file actions
Latest commit
107 lines (75 loc) · 2.17 KB
/
Copy pathQueue-Implementation.py
File metadata and controls
107 lines (75 loc) · 2.17 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
elements=input("Enter the number of elements you want to insert in the array")
array= []
foriinrange(elements):
f=int(input("enter element"))
array.append(f)
print("the numbers enterred are - ")
print(array)
print("the queue formed is - ")
print(queue)
opt=0
switch(opt) {
case1 :
break;
case2:
break;
case3:
break;
case4:
break;
case5:
break;
}
classQueue:
# __init__ function
def__init__(self, capacity):
self.front=self.size=0
self.rear=capacity-1
self.Q= [None]*capacity
self.capacity=capacity
# Queue is full when size becomes
# equal to the capacity
defisFull(self):
returnself.size==self.capacity
# Queue is empty when size is 0
defisEmpty(self):
returnself.size==0
# Function to add an item to the queue.
# It changes rear and size
defEnQueue(self, item):
ifself.isFull():
print("Full")
return
self.rear= (self.rear+1) % (self.capacity)
self.Q[self.rear] =item
self.size=self.size+1
print("% s enqueued to queue"%str(item))
# Function to remove an item from queue.
# It changes front and size
defDeQueue(self):
ifself.isEmpty():
print("Empty")
return
print("% s dequeued from queue"%str(self.Q[self.front]))
self.front= (self.front+1) % (self.capacity)
self.size=self.size-1
# Function to get front of queue
defque_front(self):
ifself.isEmpty():
print("Queue is empty")
print("Front item is", self.Q[self.front])
# Function to get rear of queue
defque_rear(self):
ifself.isEmpty():
print("Queue is empty")
print("Rear item is", self.Q[self.rear])
# Driver Code
if__name__=='__main__':
queue=Queue(30)
queue.EnQueue(10)
queue.EnQueue(20)
queue.EnQueue(30)
queue.EnQueue(40)
queue.DeQueue()
queue.que_front()
queue.que_rear()