File tree Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Author: OMKAR PATHAK
2
+
3
+ class CircularQueue (object ):
4
+ def __init__ (self , limit = 10 ):
5
+ self .front = None
6
+ self .rear = None
7
+ self .limit = limit
8
+ self .queue = []
9
+
10
+ # for printing the queue
11
+ def __str__ (self ):
12
+ return ' ' .join ([str (i ) for i in self .queue ])
13
+
14
+ # for checking if queue is empty
15
+ def isEmpty (self ):
16
+ return self .queue == []
17
+
18
+ # for checking if the queue is full
19
+ def isFull (self ):
20
+ return len (self .queue ) == self .limit
21
+
22
+ # for adding an element at the rear end
23
+ def enqueue (self , data ):
24
+ if self .isFull ():
25
+ print ('Queue is Full!' )
26
+ elif self .isEmpty ():
27
+ self .front = self .rear = 0
28
+ self .queue .append (data )
29
+ else :
30
+ self .rear += 1
31
+ self .queue .append (data )
32
+
33
+ # for deleting the deleting an element from front end
34
+ def dequeue (self ):
35
+ if self .isEmpty ():
36
+ print ('Queue is Empty!' )
37
+ else :
38
+ self .front += 1
39
+ return self .queue .pop (0 )
40
+
41
+ if __name__ == '__main__' :
42
+ myCQ = CircularQueue (5 )
43
+ myCQ .enqueue (14 )
44
+ myCQ .enqueue (22 )
45
+ myCQ .enqueue (13 )
46
+ myCQ .enqueue (16 )
47
+ print ('Queue:' ,myCQ )
48
+ myCQ .dequeue ()
49
+ myCQ .dequeue ()
50
+ print ('Queue:' ,myCQ )
51
+ myCQ .enqueue (9 )
52
+ myCQ .enqueue (20 )
53
+ myCQ .enqueue (5 )
54
+ myCQ .enqueue (5 )
55
+ print ('Queue:' ,myCQ )
You can’t perform that action at this time.
0 commit comments