CIRCULAR QUEUE

 CIRCULAR QUEUE


#circular queue
class Queue:
    def __init__(self):
        self.que=[]
        self.fr=1
        self.rr=0
        self.maxx=int(input("Enter the array size: "))
    def enque(self,item):
        if self.rr<self.maxx:
            self.rr+=1
            self.que.append(item)
        else:
            print "Queue overflow"
        #print "EN: ",q1.fr, q1.rr
    def deque(self):
        if self.fr<=self.rr:
            self.rr=self.rr-1
            self.que=self.que[self.fr : ]
            #print self.que, self.fr
        else:
            print "Queue underflow"
        #print "DE: ",q1.fr, q1.rr

    def display(self):
        if self.fr<=self.rr:
            print self.que
        else:
            print("Queue underflow")
        #print "DD: ",q1.fr, q1.rr

q1=Queue()
#print q1.fr, q1.rr
while(True):
    print("\n\n1. display")
    print("2. Dequeue an element" )
    print("3. Enqueue an element")
    print("4. exit")
    ch=int(input("Enter the choice: "))
    if ch==1:
        q1.display()
    elif ch==2:
        q1.deque()        
    elif ch==3:
        if q1.rr<q1.maxx:
            m=raw_input("Enter value: ")
            q1.enque(m)
        else:
            print("Queue overflow")
    else:
        exit()

Comments

Popular posts from this blog

SAME NAME IN CLASS METHOD AND CONSTRUCTOR

PALINDROME NUMBER

FIBONACCI SERIES