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